Need some help with vim


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Need some help with vim
# 1  
Old 01-28-2008
Java Need some help with vim

I use vim for writing code. I was using nano but found that vim is a much advanced editor. I am trying to achieve something like this:

When trying a loop or a function, I generally type:

Code:
function name() {}

Now when I take my cursor one position to the left and press the return key, it give me something like this:
Code:
function name() {
}

But I want something like this:
Code:
function name() {
________|Cursor Here
}

I've seen this in many editors but don't know how to achieve this in vim.
# 2  
Old 01-28-2008
Maybe this can help...
[Chapter 7] 7.3 Saving Commands
The general idea is to define an abbreviation or a keyboard sequence as the keystrokes that you have to press in order to obtain what you want.
# 3  
Old 01-28-2008
I'm not a vim expert, but you should look in your ~/.vimrc (if you have one) for the following line:

filetype plugin indent on

That's dependent on if your version of vim was compiled with autocmd

You can also google the following:
autoindent , smartindent, cindent

or just try one:

:set autoindent
:set cindent

Good luck.
# 4  
Old 01-29-2008
Actually I could get this for a java file:

Code:
autocmd Filetype java imap ( ()<left>
function! My_BracketComplete()
    let char = strpart(getline('.'), col('.')-1, 1)
    if (char == ")")
        return "\<Right>"
    else
        return ")"
    endif
endfunction
autocmd FileType java inoremap ) <C-R>=My_BracketComplete()<CR>

autocmd Filetype java imap { {}<left><cr><cr><up><tab>
function! My_BraceComplete()
    let char = strpart(getline('.'), col('.')-1, 1)
    if (char == ")")
        return "\<Right>"
    else
        return "}"
    endif
endfunction
autocmd FileType java inoremap } <C-R>=My_BraceComplete()<CR>

But I when I modify it to use a cc file, it doesn't work

Code:
autocmd Filetype cc imap ( ()<left>
function! My_BracketComplete()
    let char = strpart(getline('.'), col('.')-1, 1)
    if (char == ")")
        return "\<Right>"
    else
        return ")"
    endif
endfunction
autocmd FileType cc inoremap ) <C-R>=My_BracketComplete()<CR>

autocmd Filetype cc imap { {}<left><cr><cr><up><tab>
function! My_BraceComplete()
    let char = strpart(getline('.'), col('.')-1, 1)
    if (char == ")")
        return "\<Right>"
    else
        return "}"
    endif
endfunction
autocmd FileType cc inoremap } <C-R>=My_BraceComplete()<CR>

# 5  
Old 01-29-2008
By the way thanks for the information. The cindent seems to be doing the trick. However, it is just indenting but not inserting the closing bracket.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Vim :f

Can someone please tell me what this does? :f word I thought that was the way to save files with a different name but after a quick google search I saw it was like this. :w filename (4 Replies)
Discussion started by: cokedude
4 Replies

2. Linux

VI/VIM ERROR ^Z

Dear Unix user, I'm using putty 0.60 (on Windows Vista) to connect by ssh protocol to other Linux computer. I have a problem with VI/VIM. When I key button "n" or "b", it returns me n^Z or b^Z. What could the problem be?! Thanx a lot, Maria Elena (0 Replies)
Discussion started by: mesana
0 Replies

3. Solaris

Very Importan - Vim Settings - Error while opening a File using vim

I downloaded vim.7.2 and compiled the vim source . Added the vim binary path to PATH (Because iam not the root of the box) when i load the file using vim it throws me an error Error detected while processing /home2/e3003091/.vimrc: line 2: E185: Cannot find color scheme darkblue line... (0 Replies)
Discussion started by: girija
0 Replies

4. UNIX for Advanced & Expert Users

vim

Does anyone know the fast way to go to tab/2 distance in vim. I mean set four spaces. (1 Reply)
Discussion started by: mirusnet
1 Replies

5. Shell Programming and Scripting

Vim - Question

Hi, I'm not sure whether this is the right place for my question. For scripting I use very often Vim because it's almost available on all unix stations. Sometimes it would be very helpful to exchange text inside Vim with other programs and the other way round! For example I want to copy... (4 Replies)
Discussion started by: climber
4 Replies

6. UNIX and Linux Applications

Help with Vim

How do I use compilers and syntax highlighting in (g)Vim? Specifically, I need a Common Lisp compiler and a C++ compiler. Thanks in advance! (Note: Disregard my other topic.) (1 Reply)
Discussion started by: led3234
1 Replies

7. UNIX for Advanced & Expert Users

About Vim

Hello, what is the maximum size of a file that we can open using vim. (3 Replies)
Discussion started by: nagalenoj
3 Replies

8. Shell Programming and Scripting

Vim color

How can I change the color in Vim for *sh scripts for words which in brackets "words". In another words for string variables. As I know id depends on /usr/share/vim/vim71/syntax/sh.vim. But I can not find where exactly. (1 Reply)
Discussion started by: mirusnet
1 Replies

9. UNIX for Dummies Questions & Answers

how to configure VIM ?

hi today i was working on AIX server and faced many problem while working with VIM. some issues were like configuring VIM where can i configure vim such as ruler was not displayed by default no hlsearch as well as when you try to execute prveious RE with up arrow its not working how to configure... (1 Reply)
Discussion started by: zedex
1 Replies

10. Solaris

Vim 7.0

I want to install VIM 7.0 from sunfreeware.com onto a server. The security guys are giving me a hard time because they found this security vulnerability. http://xforce.iss.net/xforce/xfdb/6259 This vulnerability came out in 2001, and it looks like it was mostly for linux, but I cant be... (1 Reply)
Discussion started by: BG_JrAdmin
1 Replies
Login or Register to Ask a Question