vim

Is it possible to use different tags files for omnicomplete and general tag browsing in Vim?

Hi, I've been using ctags in Vim for years, but I've only just discovered omnicomplete. (It seems good.) However, I have a problem: to get omnicomplete working properly I have to use the --extra=+q option when generating the tags, which is fine, but this then changes the behaviour of general tag browsing in ways that I do not like. F...

Can I have Vim ignore a license block at the top of a file?

Is there a way to use folds or some other Vim-script black magic to hide license blocks at the top of files? I don't like that they take up such a large section of my editing pane; I like to get a sense for what a file is doing when I first open it, rather than a face-full of boilerplate. ...

Deleting up to a certain line in vim

I know that to delete n lines, the command is [n]dd, where n is the number of lines to delete. But what if I want to delete up to a certain line number? Say, if I'm on line 65 and I want to delete up to line 126 without having to do the math, how could I do that? ...

Vi bindings for TextMate

I love both vi and TextMate. Is it possible (or even conceivable) to add vi bindings to TextMate? (Perhaps using some other key than "escape" to enter/leave the editing mode.) Does someone know of such a possibility? ...

Is there a visual two-dimensional code editor?

Let me explain what I mean by "two-dimensional code editor": imagine of using Inkscape or Gimp in a big canvas (say infinite). The "T - add text" tool is used to write the code. Additionally, all function definitions will be framed and links will connect the called functions. In other words: you have a very large sheet of (virtual) pap...

Vim script to insert Java null reference checks for chained method calls

I want to write a vim script to do the following: if I have the following in my Java code, Z z = obj1.foo().bar().foo1().bar1() it should be replaced by if(obj1 != null) { T1 o1 = obj1.foo(); if(o1 != null) { T2 o2 = o1.bar(); if(o2!=null) { T3 o3 = o2.foo1(); if(o3 != null) { z = o3.b...

Comprehensive list of Google Wave text editor clients?

Hi there, I know I'm late to the game, but 'still haven't found very many desktop-based Google Wave client text editors. Do any even exist? Do you know of a Google Wave client plugin for Eclipse, VIM, Netbeans, or any other IDE? (Doesn't have to be a complete product...alpha is fine,...just curious if there's any progress in that direc...

Inefficiency in Vim

I consider myself somewhat familiar with Vim, hate the arrow keys (let alone the mouse), regularly look up tips and plugins to get the most out of this tool, use it daily to manage my cloud servers, etc. However, I always find myself doing the same mistakes probably inherited from the GUI-world: too often switching to visual mode t...

Vim search for class

How do I define a vim function such that when called with Foo it searches via vimgrep for \s*class Foo or \s*struct Foo ? [This is poorman's cscope/ctag; I want to be able to type in a class name, and have it search for the class.] If this is easy, is there a way I can tell it to look under my cursor to use that 'word' as the ...

Use vim to search by hex code

I need to clean up a file. We have an xml parser that runs on it that is failing due to an escape character (0x1B) in the file. How do I use vim to find where in the file that character is so I can remove it? Example file: <?php echo "Hello, world.\n"; ?> After conversion: 0000000: 0a3c 3f70 6870 0a65 63...

Find lines that don't begin with a "<", perform action

Am using vim and have a large text file that contains some html thrown in throoghout. Am trying to prepare it for the web and need to add <p></p> tags to the lines that are not yet formatted. Here is an example of what I have: Paragraph text one one line [... more ... ] Other paragraph text on the next line [... more ... ] <h1>html ...

Vim regex of correct json string

Does this vim regex match only correct JSON strings? Does it match every correct JSON string? Quotes are part of regex. "\([^\\"]\|\\\(u\x\{4}\|["trf\\bn/]\)\)*" UPD: I need JSON string objects ("..."). ...

:g showing functions and comments below

I'm not sure if this can be accomplished with regex, so here goes and hoping for the best. If in vim I do, :g/function I get a list of all function rows. Now, I'd like that but with comments (!) below until the first non comment row, so I get something like: 3 function MyFunction() 4 !This is a comment 5 !This is also a comment 23 ...

Using Winkeys in Vim

Hi all, Is there a way to use the winkeys inside vim? I know I can set winkeys to act as Alt, Ctrl or other keys, but without it there is a way? Thanks! ...

How can I change the keybinding used to autocomplete in vim?

I'm not a big fan of Ctrl-n, I'd like to be able to use Ctrl-Space. Any ideas how I can do that? ...

Thinking of moving from TextMate to vim for Rails dev. What do I need?

I do Ruby on Rails development pretty much exclusively. I currently develop in OS X using TextMate. I have a virtual machine running to emulate as closely as possible the environment my app will be deployed into, and I mount the code on a Samba share into OS X from the VM guest. From there I open with TextMate and code away. I'm beginni...

Vim as a note taking platform: Jump to tag in vertically split windows

In the past, I have used Vim as a note taking platform by creating an index.txt file with a list of tags using the Vim help file format and then creating a bunch of text files that have the normal *Help_Tag* link syntax so that using CTRL-] on a tag in the index.txt file will jump to the respective tag in an arbitrary notes text file. Yo...

Create directory in Vim

I can not create a directory in russian (UTF-8) using vimscript in WinXP. For example :call mkdir("привет") creates directory with привет name instead of привет. I have also tried :call system("mkdir привет") with the same result. Is it possible? ...

looking up c++ documentation inside of vim

I code c++, using vim. Often times, I find myself wasting time (and brekaing flow) looking up trivial things like: is std::string.substring does it take (start, length) or (start, end). This often results in open browser; waid; seach on google; first link useless, try second link; okay, done. How do others do this in vim? Is there a ...

vim omnicomplete vs. vim intellisense

Are Vim OmniComplete and Vim Intellisense mutually exclusive or complimentary? I'm a bit confused by conflicting terminology and implementations, such as these C++ OmniComplete and C++ Intellisence plugins. ...