Vim Tutorial for Beginners: vimtutor

There are many Vim tutorials and Vim tips on the Web. However, I find the vimtutor provides the best tutorial among those so far as I found on the Web while the vimtutor seems usually reachable from a terminal which is not obviously known to Vim beginners who are usually Linux beginners too. This page shows the content of the Vim tutorial from the command vimtutor in a web page which is especially easier for Vim beginners to get and learn. » Read more

Profiling Vim to Find Out Which Plugin Makes Vim Slow

Vim is pretty fast and powerful. However, the core of Vim is (yet) single-threaded (some discussions and tries on porting Vim to be multi-threading, but not yet there). This means some functions that are slow will block Vim there and you have to wait for it. While Vim is fast, some plugins are not. When Vim turns to be slow, it is very likely caused by one or more plugins. » Read more

Vim Howtos and Tips

Vim is a fast and handy editor on *nix systems. Like Emacs, Vim has a steep learning curve as you get constantly get new things. However, the effort deserves it as you efficiency is highly improved. Here, I summarize the tips and howtos I learned using Vim. Some previous posts on vim are tagged with vim. My .vimrc and .vim file ∞ My .vimrc and .vim files: How to use these files ∞ cd /path/to/vim-config/ git submodule update --init If you never configured Vim: cd ln -s /path/to/vim-config/.vimrc ./ ln -s /path/to/vim-config/.vim ./ If you ever configured your Vim, you may need to merge my configurations to yours. » Read more

Auto Indenting for OCaml Code in Vim with ocp-indent

The built-in indenting in Vim for OCaml seems not very good. How to set up auto indenting for OCaml code in Vim? ocp-indent works very well for me. This posts introduces how to configure Vim to use ocp-indent to automatically indent/format OCaml code. First, install ocp-indent after installing opam: $ opam install ocp-indent Second, configure vim by adding these lines to your ~/.vimrc: au BufEnter *.ml setf ocaml au BufEnter *.mli setf ocaml au FileType ocaml call FT_ocaml() function FT_ocaml() set textwidth=80 set colorcolumn=80 set shiftwidth=2 set tabstop=2 " ocp-indent with ocp-indent-vim let opamshare=system("opam config var share | tr -d '\n'") execute "autocmd FileType ocaml source".opamshare."/vim/syntax/ocp-indent.vim" filetype indent on filetype plugin indent on endfunction You can use == to format the code selected or the current line now. » Read more

Vim + cgdb

I begin to use vim for programming. I like the tools that focus on one function. I used to use emacs. But I think I like vim more. For debugging, I use gdb. But I use the front end cgdb. I can see the codes with the cursor when debugging. I can use F8 for next instead of n + enter. » Read more

Vim Indenting C/C++ Code

Vim provides some basic formatting commands. A combination of these commands with the editing commands will make the programmer happy. A list of basic text formatting commands in Vim: = is an operator that formats/indents text. i{ is a text object that specifies the surrounding code block. It should be used together with v, =, etc. Some basic but useful operation that are combination of the two basic ones above: vi{ visually selects the inner code block around the cursor. » Read more

Vim as Thunderbird’s External Editor in Linux

Vim is an excellent editor which I use every day. Thunderbird is a nice email application. However, Thunderbird’s integrated editor is not efficient enough to a Vim user. Why not use Vim as Thunderbird’s editor? In this tutorial, we will introduce how to integrate Vim with Thunderbird together in Linux. Install the “External Editor” Thunderbird extension Download the “External Editor” plugin. » Read more

Guake: An Excellent Quake Like Drop-down Terminal for Gnome

Guake is very fast and stable enough for use. It’s an excellent quqke like drop-down terminal for gnome. I used yakuake on KDE. It’s professional but a bit slow. I used tilda also on gnome. But unfortunately, there are too many bugs. Then after I find Guake, I am happy. guake-screenshot1.png Guake is invoked with a single keystroke (F12 as default), and hidden by pressing the same keystroke again. » Read more

Vim Removing “^M” Returns from Files

When editing some files fro Windows in vim, there are some ugly “^M” returns. Here is a method to remove and replace these “^M”s (please note that you should not copy/past to use the follows): :1,$s/{Ctrl+V}{Ctrl+M}//{Enter} {Ctrl+V} means keyboard operation that is push ‘ctrl’ and ‘v’ together. {Enter} is push ‘enter’. : means that it is a ex command. 1,$ means that the line number range is from the first line to the last line. » Read more

My Vim Emacs and Other Configuration Files

My .vimrc .emacc files can be downloaded from here: My text editors are especially configured for source code such as C/C++/shell editing. I prefer to use spaces instead of tab. And my favourite tab size is 4. Some vimrc parameters and the comments are listed here. Details and the updated configuration files please refer to the git repository. The .vimrc: set number " show line number set backup " keep a backup file set backupdir=~/.vibackup " keep all backup files in one central dir set backupcopy=yes set tabstop=4 set shiftwidth=4 set expandtab set autoindent " always set autoindenting on set cindent " indent c code syntax on set incsearch " do incremental searching set hlsearch " high light the search content set history=50 " keep 50 lines of command line history set ruler " show the cursor position all the time set showcmd " display incomplete commands This xstartup configuration files makes VNC to use gnome as the desktop environment of remote server instead of the default (twm). » Read more

Several Vim Tips (in Chinese)

窗口模式操作 CTRL-W CTRL-S 将当前窗口分割为两窗口 CTRL-W CTRL-W 切换窗口 CTRL-W j 切换到下一窗口 CTRL-W k 切换到上一窗口 CTRL-W CTRL-R 将窗口的位置轮换 CTRL-W CTRL-_ 将当前窗口最小化 CTRL-W CTRL-= 将所有窗口变为等大 搜索和替换 /word 搜索word 搜索之后按回车高亮显示,n 下一个 p 上一个 :%s/模式/替换成的内容/gc % 全局选项,如果没有开启则只在当前行进行替换 g 表示 全局替换,如果没有g选项则只替换每行出现的第一个单词 c 表示需要确认 Esc替换按键 ESC键在键盘的左上角,按起来很不方便,而在VIM中ESC经常用到,其实有一个同样作用的组合按键:CTRL-[,这两个按起来手基本不用做大的动作,方便多了。 块操作 使用visual可视模式 v 进入可视模式,移动光标可进行选择 CTRL-Q 或 CTRL-V 进入列式模式,可进行块操作,选定的是一个矩形块。如果使用behave mswin CTRL-V可能映射成为past » Read more