Search Results

Search found 1329 results on 54 pages for 'vim'.

Page 12/54 | < Previous Page | 8 9 10 11 12 13 14 15 16 17 18 19  | Next Page >

  • vim plugin to show current Perl subroutine

    - by Andrew
    I'm trying to make a vim plugin that will split the window on load and simulate a info bar at the top of my terminal. I've got it sorta working but I think I've either reached limits of my knowledge of vim syntax or there's a logic problem in my code. The desired effect would be to do a reverse search for any declaration of a Perl subroutine form my current location in the active buffer and display the line in the top buffer. I'm also trying to make it skip that buffer when I switch buffers with <C-R>. My attempt at that so far can be seen in the mess of nested if statements. Anyway, here's the code. I would greatly appreciate feedback from anyone. (pastebin pastebin.com/8cuMPn1Q) let s:current_function_bufname = 'Current\ Function\/Subroutine' function! s:get_current_function_name(no_echo) let lnum = line(".") let col = col(".") if a:no_echo let s:current_function_name = getline(search("^[^s]sub .$", 'bW')) else echohl ModeMsg echo getline(search("^[^s]sub .$", 'bW')) "echo getline(search("^[^ \t#/]\{2}.[^:]\s$", 'bW')) echohl None endif endfunction let s:previous_winbufnr = 1 let s:current_function_name = '' let s:current_function_buffer_created = 0 let s:current_function_bufnr = 2 function! s:show_current_function() let total_buffers = winnr('$') let current_winbufnr = winnr() if s:previous_winbufnr != current_winbufnr if bufname(current_winbufnr) == s:current_function_bufname if s:previous_winbufnr < current_winbufnr let i = current_winbufnr + 1 if i total_buffers let i = 1 endif if i == s:current_function_bufnr let i = i + 1 endif if i total buffers let i = 1 endif exec i.'wincmd w' else let i = current_winbufnr - 1 if i < 1 let i = total_buffers endif if i == s:current_function_bufnr let i = i - 1 endif if i < 1 let i = total_buffers endif try exec i.'wincmd w' finally exec total_buffers.'wincmd w' endtry endif endif let s:previous_winbufnr = current_winbufnr return 1 endif if s:current_function_buffer_created == 0 exec 'top 1 split '.s:current_function_bufname call s:set_as_scratch_buffer() let s:current_function_buffer_created = 1 let s:current_function_bufnr = winnr() endif call s:activate_buffer_by_name(s:current_function_bufname) setlocal modifiable call s:get_current_function_name(1) call setline(1, s:current_function_name) setlocal nomodifiable call s:activate_buffer_by_name(bufname(current_winbufnr)) endfunction function! s:set_as_scratch_buffer() setlocal noswapfile setlocal nomodifiable setlocal bufhidden=delete setlocal buftype=nofile setlocal nobuflisted setlocal nonumber setlocal nowrap setlocal cursorline endfunction function! s:activate_buffer_by_name(name) for i in range(1, winnr('$')) let name = bufname(winbufnr(i)) let full_name = fnamemodify(bufname(winbufnr(i)), ':p') if name == a:name || full_name == a:name exec i.'wincmd w' return 1 endif endfor return 0 endfunction set laststatus=2 autocmd! CursorMoved,CursorMovedI,BufWinEnter * call s:show_current_function() (pastebin pastebin.com/8cuMPn1Q) similar to VIM: display custom reference bar on top of window and http://vim.wikia.com/wiki/Show_current_function_name_in_C_programs

    Read the article

  • Formatting PHP Code within Vim

    - by gacrux
    I'm currently using Vim as a lightweight IDE. I have NERDTree, bufexplorer, supertab, and ctags plugins which do almost everything I want. Only big thing missing for me is auto code formatting. I'm working with some messy PHP code which has inconsistent indenting and code formatting, ideally I could highlight the code I want formatted (whole files would be fine too) and run a command to tidy it. Does anybody have a nice solution for this working in Vim?

    Read the article

  • C++ indentation not working on Vim

    - by ajay
    Hi, I am having trouble getting indentation to work in Vim. I am coding in C++. I use vim.nox on ubuntu 9.10 I have filetype plugin indent on I also tried set cident , set autoindent, set smartindent etc. Automatic indentation does not seem to work.

    Read the article

  • vim c++ break line

    - by Myx
    Hello: How can I break long lines when writing c++ code in vim? For example, if I have something like 56 fprintf(stderr, "Syntax error reading recursion value on 57 line %d in file %s\n", line_count, filename); I get the following compile errors: :56:25: warning: missing terminating " character :56: error: missing terminating " character :57: error: stray ‘\’ in program :57:37: warning: missing terminating " character :57: error: missing terminating " character I'm a vim newbie. Thanks!

    Read the article

  • VIM equivalent for (something like) 6xi?

    - by me2
    There's a command in VIM where you can say how many chars to replace, and VIM will put a "$" at that many characters out, and you can type in the replacement for those characters. The original and new text can be different lengths. What's the command for this?

    Read the article

  • VIM plugin for updating C++ function definition

    - by Sunny
    I'm looking for a VIM plugin that can do these kind of thing. Let's say I have a function in a .cpp file void myFunction(int arg1, int arg2, int arg3){ //code } The function definition is defined in the .h file. So every time I change the function name or add a new argument to the function, I have to go back the the .h file to do the same. Is there a VIM plugin that can automate this task?

    Read the article

  • how to run few vim commands in a raw

    - by temujin.ya.ru
    Hello. This is really noob question. There is set of vim commands : command1 : command2 etc., which I would neet to type in in a raw quite often. How to I make it automatic? It is simple regexp replace command set, however I cannot script those in sed, since it involves non-latin locales and for some reason vim handles non-latin regexps correctly, while sed not.

    Read the article

  • vim autopopulate file

    - by David Oneill
    Is it possible to have VIM auto populate a file based on the extension? For example, when I open a new .sh file, I would like VIM to automatically type #!/bin/bash as the first line. (This example simplified down to the essentials)

    Read the article

  • like-vim emacs ruby indentation

    - by edbond
    ruby-mode from svn, looks equal to 1.1 version here is emacs indentation of hash User.all({ :joins => :account, :conditions => {:delete_at => nil} }) here is the same in vim User.all({ :joins => :account, :conditions => {:delete_at => nil} }) How to make emacs indent like vim in ruby-mode?

    Read the article

  • Shortcut for moving between Vim windows

    - by Kamilski81
    Let's say I have single Vim tab displaying 9 buffers (equally separated, like a table 3x3). Currently, to get from the top left window to the bottom right one, I have to press 3, Ctrl+W, J, and then 3, Ctrl+W, L. This is cumbersome and I would like to just be able to press Ctrl+9 to go to the 9th window and Ctrl+3 to go to the 3rd window, etc. Is there any easy way I can map something like this in Vim?

    Read the article

  • Why should I learn vi/vim/emacs? [on hold]

    - by Tom Busby
    I hear all the flame wars about vi/vim and emacs and which is better etc but honestly, I just use sublime. When I have to edit from the CLI I use nano (it's simpler to use). I'm wondering if I'm missing something. Should I put the time/effort into learning one of those text-editors thoroughly, and if so... why? What is it about these two editors that evokes so much adoration and devotion? Why would I want to use any of them over my nice, multi-caret, GUI text editor?

    Read the article

  • Paste multiple lines before a line in vim?

    - by Umar
    How do I copy multiple lines and paste them as a block before a line? As an example I have the following code and I want to copy and paste the three lines after the if statement to after the else statement but before the line below it. [row col] = find(H); if (nargin < 4) delqmn = sparse(row, col, 0, M, N); % diff of msgs from bits to checks delrmn = sparse(row, col, 0, M, N);% diff of msgs from checks to bits rmn0 = sparse(row, col, 0, M, N);% msgs from checks to bits (p=0) else // Insert 3 lines after if statement here qn0 = 1-r;% pseudoposterior probabilities qn1 = r;% pseudoposterior probabilities Thanks

    Read the article

  • Vim: Show the index of tabs in the tabline

    - by bitmask
    Lets say I opened file1.txt, file2.txt, file3a.txt and file3b.txt such that the tabline (the thing on the top) looks like this: file1.txt file2.txt 2 file3a.txt (Note how file3b.txt. is missing because it is shown in a split, in the same tab as file3a.txt) To move more quickly between tabs (with <Number>gt), I would like each tab to display its index, along the filename. Like so: 1:<file1.txt> 2:<file2.txt> 3:<2 file3a.txt> The formatting (the angle braces in particular) are optional; I just want the index to appear there (the 1:, 2: and so on). No clues on :h tab-page-commands or google whatsoever.

    Read the article

  • How to disable augroup in vim?

    - by Andrew Vit
    I understand that in my vimrc I can add autocmd, and I can group them into augroup. Once they are grouped, what can I do with the group? Specifically, is there a way to disable the whole group at once? Looking at the help, I only see two options: augroup! will delete the whole group: I don't think this is right since I will want to re-enable it again. Searching for "aucmd" and "disable" brings up eventignore, but this looks like it's for specific events like CursorMoved, BufWinLeave, etc. and not the command or the group itself. How is this done?

    Read the article

  • Vim: :silent with makeprg

    - by ash
    I use pylint on .py files for :make in my .vimrc, although any program, pylint or otherwise, applies to this problem. set makeprg=pylint\ --reports=n\ --output-format=parseable\ % When I run :make, I inevitably get the annoying Press ENTER or type command to continue prompt. I know this can be disabled with :silent, but I can't prepend it to the makeprg variable like this, because it throws an error: set makeprg=:silent "pylint\ --reports=n\ --output-format=parseable\ %" If I try to have my own "Silent make command," command Smake silent make The screen goes black after calling it. How would I do it?

    Read the article

  • $PATH in Vim doesn't match Terminal

    - by donut
    I'm using MacVim and when I don't launch it from the Terminal (mvim) its $PATH does not include what I have set in my .bash_profile. It only seems to have the default values, /usr/bin:/bin:/usr/sbin:/sbin. I'm running OS X 10.5.8. Even if I could set it manually in my .vimrc that would be okay, though I would prefer it to pull from the same place as Terminal. I've tried following what one site suggested, adding let $PATH += /blah/foo:/bar/etc to no avail. Edit/Solution: See my answer below. MacVim has an option to fix this.

    Read the article

  • Indenting an x number of lines in vim

    - by Mack Stump
    I've been coding in Java for a job recently and I've noticed that I'll write some code and then determine that I need to wrap the code in a try/catch block. I've just been moving to the beginning of a line and adding a tab. 0 i <tab> <esc> k (repeat process until at beginning or end of block) Now this was fine the first three or four times I had to indent but now it's just become tedious and I'm a lazy person. Could someone suggest an easier way I could deal with this problem?

    Read the article

< Previous Page | 8 9 10 11 12 13 14 15 16 17 18 19  | Next Page >