Tags : Ajax  apache  awk  besttrace  bootstrap  CDN  Django  git 

常见问题

笔记:vim 编辑器使用

stevezhou      2014.09.16   


要熟练运用linux,vim的使用技巧是必须掌握滴(在没有x window的情况下),下面记录vim的操作,以备忘:

--------------------------------------

默认在命令模式下直接按相关命令

:前缀 表示输出命令

i前缀 表示在插入模式下操作

--------------------------------------

选定、拷贝、粘贴

v  为可视模式,可选定多行或任意个字符,粘贴会在光标处进行

y  拷贝选定的内容

d  剪切选定的内容

yw  拷贝一个单词

V  选定以行为单位,可选定多行,粘贴会切换到下一行进行(注意与v的区别)

折叠代码

zf  折叠,向右方向键打开折叠

缩进代码

=  自动格式化代码,自动缩进

>  选定行左移,用于调整源码缩进格式

------------------------------------

移动光标

: 行号     移动到指定行

h   左,或Backspace或方向键;

j    下,或Enter或+ (要Shift键),或方向键。

k   上,或方向键或-(不必Shift键)。

l    右,或Space或方向键。

Ctrl+f    即PageDown翻页(Forward,向前、下翻页)。

Ctrl+b   即PageUp翻页(Backward,向后、上翻页)。

-----

0    是数目字0 而不是英文字母o。或是Home 键,移至行首,(含空白字元)。
^    移至行首第一个非空白字元,注意,要Shift 键。在正则中,^ 是匹配行首。
$    移至行尾,或End 键。要 Shift 键。在正则中,$ 是匹配行尾。
G    移至档尾(全文最后一行的第一个非空白字元处), G 之原意是goto,指移至指定数目行之行首,如不指定数目,则预设是最后一行。
gg    移至档首(全文第一行之第一个非空白字元处)。

-----

w    移至次一个字(word)字首。当然是指英文单字。
W    同上,但会忽略一些标点符号。
e    移至后一个字字尾。
E    同上,但会忽略一些标点符号。
b    移至前一个字字首。
B    同上,但会忽略一些标点符号。
H    移至屏幕顶第一个非空白字元。
M    移至屏幕中间第一个非空白字元。
L    移至屏幕底第一个非空白字元。这和PageDown,PageUp 不一样,内文内容并未动,只是光标在动而已。
n|    移至第n 个字元(栏)处。注意,要用 Shift 键。 n 是从头起算的。
:n    移至第n 行行首。或 nG。

-----

)    移至下一个句子(sentence)首。
(    移至上一个句子(sentence)首。 sentence(句子)是以 . ! ? 为区格。
}    移至下一个段落(paragraph)首。
{    移至上一个段落(paragraph)首。 paragraph(段落)是以空白行为区格。
%    这是匹配{},[],() 用的,例如光标在{ 上只要按%,就会跑到相匹配的} 上。

------------------------------------

多文件编辑/缓冲区命令

vim下每一个打开的文件对应一个缓冲区(buffer). 多文件编辑的两种场景:

1、打开文件A的情况下,再打开文件B  ,buffer list

2、同时打开多个文件 ,argument list

打开文件:

:e filename  ,进行vim后,在不离开

缓冲区跳转

:n  编辑下一个文件

:2n  编辑下二个文件

:N  编辑前一个文件(这种用法只能用于场景2)

:rew  回到首文件http://182.92.149.152/admin/myblog/article/17/

:args  查看当前编辑缓冲文件状态

:e# 或 ctrl-^  编辑前一个文件,用于两个文件互引编辑时相当好用

:bn buffer next

:bl buffer last

移除缓冲区

:bd(elete)  移除当前缓冲区

重新编辑

:q!  强行退出后再vi filename重新进入

:e!  强行重新编辑

其它命令

:files/buffers/ls  列出目前buffer中的所有文件

查找命令

/ 单词,n可以跳到下一个,N则是上一个, :nohls可以取消高亮

:set ignorecase  查找时忽略大小写

:set noignorecase  关闭忽略大小写功能

修改文字

cw  删除一个单词并进入INSERT 模式

cc  删除一行并进行INSERT模式

其它命令

u  撤销上一步操作

ctrl-r  恢复操作

:!  执行一条外部命令,如 :!python

 

完毕,但愿你会因此而爱上vim!!wink



标签 :  vim 下一篇