. 重复上一个命令 ctrl G 显示当前文件名等信息去除^M %s/^M//g
^M = ctrl v+ ctrl M
移动
w,b 向右/左移动一个单词
ctrl f,ctrl b 向下/向上翻页
% 移动至匹配的括号
fc,Fc 向右/左移动至下一个字符c处
tc,Tc 向右/左移动至一下个字符c前
删除
dm 删除至移动指令m所到达的地方
di{, di} 删除当前配对的{}间所有内容
di(, di) 删除当前配对的()间所有内容
缩进
>> Indent line by shiftwidth spaces
<< De-indent line by shiftwidth spaces
5>> Indent 5 lines
5== Re-indent 5 lines
>% Increase indent of a braced or bracketed block (place cursor on brace first)
=% Reindent a braced or bracketed block (cursor on brace)
<% Decrease indent of a braced or bracketed block (cursor on brace)
]p Paste text, aligning indentation with surroundings
=i{ Re-indent the 'inner block', i.e. the contents of the block
=a{ Re-indent 'a block', i.e. block and containing braces
=2a{ Re-indent '2 blocks', i.e. this block and containing block
>i{ Increase inner block indent
<i{ Decrease inner block indent
Block Visual
ctrl+v 进入 Block Visual 模式;
用方向键控制在几行作业;
I 进入插入模式, 键入插入内容;
esc返回,这样插入的内容被应用于选中的每一行
d 删除选中的区域
如果发现无法实现上述功能,很可能是没有装完全的vim
在ubuntu或者debian下,可以
$ sudo apt-get install vim-full
编辑模式下使用上下左右键
:set nocp
或者在${HOME}/.vimrc中加入
set nocp
加密码
vim -x filename
更换密码:
vim +X filename
常用${HOME}/.vimrc的设置
- set expandtab: 把tab置换为space
- set ts=4: 设置tabstop为4
- set tw=0: 设置textwidth。 一行长度超过textwidth的时候会添加line break。为0的话disable这个功能
- set showmode: 显示当前vi工作在什么模式下
- set nocompatible: 抛弃和vi兼容性.通常如果在插入等模式下用方向键出来ABCD之类的字母,就这样设置
- 在.vimrc中, 如果要注释一行,使用双引号"
打开多个文件和在其中移动
使用tab (http://vim.wikia.com/wiki/Using_tab_pages)
- :tabe filename 在新tab中打开另一个文件
- :tabs 查看所有tabs
- :tabc 关闭当前tab
- :tabc {i} 关闭第i个tab
- gt 上一个tab
- gT 下一个tab
切割屏幕
:split :split filename :vsplit :vsplit filename在窗格间切换
ctrl-W 上/下
VIM Quick Reference
VIM tips and tricks
No comments:
Post a Comment