VIM格式化代码(How to format code with VIM)

VI QUICK START

achilles posted @ 2011年4月03日 10:19 in VIM , 2174 阅读

FROM http://junsheng.itpub.net/post/860/43411

简介
有 了强大的emacs还要来学什么vi呢?其实vi应该是每个初学Unix的人所必备的, 在每台机器上一定都可以用,不像emacs没有装搞不好就没有的用。另外vi的好 处是它很小,不占内存,terminal可以动的地方就可以用。在做远程管理 等等状况非常好用。它算是一种标准编辑器,就像windows上一定有笔记本 这个程序一样

 


一般说来vi没有选单可以用(其实有变种vi,像gvim就有选单功能) ,所以一定要在两个模式间跳来跳去。一开始就是在命令模式内,你要先跳到 编辑模式才可以乱打内容。其实也不一定啦,要看当初的设定为何,只是正 常古老时代应该是这样。如果你按了老半天跑不出字来,就按个i 
快速命令
以下是常用按键: 
一。从命令到编辑模式
a :将光标放到目前光标后一个字符,开始文字编辑模式。insert
i :将光标放在目前光标位置,开始文字编辑模式。append
o :将光标放到下一行起始位置,开始文字编辑模式。open new line
比较常用就是i,a,o,I,A,O了,将来多试几次就好了,就很熟悉了。

二从编辑到命令
ESC :没事多按逃脱键,有益身体健康。

三命令模式中的其它命令
在命令模式中的按键就很多了,这些需要好好熟练一下了。
在vi命令模式里面,有的按键按完后他还是在命令模式,有的改个字符或copy/paste后
又回到命令模式,有的就一去不回头变成文字编辑模式了。
有些按键会把你原本想改的内容做特殊的定位,例如要改个word,也会把你带离命令模式

档案
:q 离开vi
:e xxxx 编辑xxxx
:w 存档
:w xxxx 另存档案xxxx
:q! 不存档强迫离开
:w! 强迫存档
:wq 存档与离开

光标移动
h,j,k,l 往左,往下,往上,往右
0 到行首
$ 到行尾
^ 到这行的第一个非空格符

w,W 到下个字, 到下个非空白的字
b,B 回上个字, 到上个非空白的字
e,E 到这个字的字尾, 到下个非空白的字字尾

Ctrl-F ,Ctrl-B 往后一页,往前一页
G 到檔尾
:n 到第n行 (所以到档头就是:1)
Ctrl-G 显示第几行
J 合并两行

搜寻与取代
/
/pattern 寻找pattern
?pattern 往上寻找pattern
n 再往下寻找
N 再往上寻找
:s/patrn/str/cgi搜寻patrn取代str
其中:跟s间必需指定范围(range)没设范围就是光标这行 
1,10 表示 1-10行
% 表示整篇
最后cgi
c 表示confirm寻问
g 表示global全部
i 表示ignore不分大小写

常用字符字符串处理
cc 改变整行
dd 砍掉整行
yy 拷贝整行(yank whole line)
p,P 贴上(paste) 你最近砍掉或拷贝的

cw 改变一个字
d$ 砍到行尾
ye 拷贝到这个字尾

r,R 取代一个字符, 取代整行
u,U undo 最后修改,UNCHANGE整行
x,X 砍一个字符, 往回砍个字符(等于按backspace)

重复的处理
. 重复刚刚的命令或输入

这些试试看
ce, 3x, 5dd, 10w, d0, y$, 5G

indentation
>> 往右一个indent
<< 往左一个indent

vim的多档与多窗
:e xxx 编辑xxx
:buffers 列出所有编辑档
:bn n是数 b1 b2 b3....表是开第n个buffer
:bdn n是数:bd1 :bd2 表示杀掉第n个buffer

:new 一个水平新窗
:vnew 开个垂直新窗
:only 只留一个窗窗

C-w j k h l 移到下 上 左 右 窗去

vi设定档
用命令可以设定一些编辑器的属性,例如tab键是跳几格啦等等 
:set tabstop=8
:set number

这些可以写进 一个设定档,下次启动vi就自然会用到了。不过在用命令设定时是要多加:, 写到.exrc就不用多加:。例如.exrc里面 
set tabstop=8
set number

一般vi的正常起动设定档是$HOME/.exrc 
另外vi有所谓的加强型vi,vi其实有很多的程序实作了他,因为到了后来 很多人把它的大概有的功能再扩张开来,例如颜色,例如一些特殊按键。 比较常见的如vim, elvis等等,都长的像vi,只不过symbolic link到vi。 就好像汉书长的跟PE2看起来一模一样,但是是不同程序。其实我们的 emacs也有两个兄弟一个是GNU emacs,一个是Xemacs。 如果用的是vim,它有个额外的设定档,是$HOME/.vimrc

rakhi bandhan status 说:
2019年7月20日 15:09

Hi guys visit our homepage and download short quotes on raksha bandhan for whatsapp status

seo service london 说:
2024年1月14日 18:49

Nice to be visiting your blog once more, it has been months for me. Well this article that ive been waited for therefore long. i want this article to finish my assignment within the faculty, and it has same topic together with your article. Thanks, nice share


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter