vi和vim:vi是Visual interface的简称,它为用户提供了一个全屏幕的的窗口编辑器,vi是Linux和UNIX系统中标准的文本编辑器,vim是Vi的增强版,即Vi Improved。
vim有三种编辑模式:命令行模式(command mode),输入模式(input mode),末行模式(last line Mode)。
(1) 命令行模式:
命令行模式是用户进入Vim后的初始状态,在此模式中可以Vim的命令,完成不同的工作处理。从命令行模式也可以切换到其他两种模式中,也可以从其他两种模式切换回命令行模式。在输入模式下按Esc或者是在末行模式下输入了错误的命令都会返回到命令行模式。
Vim命令行模式常用的命令:
操作
|
说明
|
操作
|
|
0
|
游标移到行首'硬行首'
|
$
|
游标至行末
|
d+方向键
|
删除文字
|
dd
|
删除一整行
|
yy
|
整行复制
|
p
|
粘贴复制的文字
|
h ,j , k , l
|
方向:往左,往下,往上,往右
|
Ctrl+f
|
向下翻页
|
Ctrl+b
|
向上翻页
|
J
|
合并两行
|
H
|
屏幕顶行
|
L
|
屏幕底行
|
K
|
帮助
|
B/b
|
前一个单词
|
W/w
|
下一个单词
|
E/e
|
词尾
|
vim命令模式下常用的删除命令有:
操作
|
说明
|
操作
|
说明
|
d0
|
删除至行首,或d^(不含游标所在字符)
|
D
|
删除至行尾,或d$(含光标所在处字符)
|
dd
|
删除一整行
|
x
|
删除光标所在处的字符,也可以用Del键
|
dG
|
删除至文件尾
|
X
|
删除光标前的字符,不可使用Del
|
d1G
|
删除至文件首
|
u
|
撤销误操作的命令
|
dw
|
删除一个字
|
|
|
Vim命令模式下常用的复制和粘贴命令:
操作
|
说明
|
操作
|
说明
|
yy | Y
|
复制光标所在的整行
|
yG
|
复制至文件尾
|
2yy | y2y
|
复制两行,可以举一反三如5yy
|
y1G
|
复制到文件首
|
y^ | y0
|
复制至行首,不含光标所在处的字符
|
p小写
|
粘贴到光标的后面,如果复制的是整行,粘贴到光标所在行的下一行
|
y$
|
复制至行尾,含光标所在处的字符
|
P大写
|
粘贴到光标前面,如果复制的整行,粘贴到光标所在行的上一行
|
y2w
|
复制两个字
|
yw
|
复制一个word
|
(2)输入模式:
在输入模式下可以对编辑的文件添加新的内容,也就是文本的输入或者删除。要进入输入模式可以按 a/A,i/I,o/O键,功能
输入
|
说明
|
输入
|
说明
|
a
|
从光标开始的位置后面插入新的内容
|
A
|
从光标所在行的最后面插入新的内容
|
i
|
从光标所在位置的前面开始插入新的内容
|
I
|
从光标所在行的第一个非空白字符前面插入新内容
|
o
|
在光标所在行的下面新增一行
|
O
|
在光标所在行的上面新增一行
|
(3) 末行模式:
末行模式主要是进行文字编辑的辅助功能,字符串查找,替代,保存文件等。在命令行模式下输入 ':' , '/' , '?'字符,就可以进入末行模式,在这个模式下,如果完成了输入的命令或者命令出错就会退出vim或者返回命令模式。
输入
|
说明
|
q
|
结束Vim程序,如果文件有过修改,那么必须先存储文件
|
q!
|
强制结束Vim程序,修改后的文件不会存储
|
wq
|
存储并结束Vim程序
|
e
|
添加文件,可赋值文件名称
|
n
|
加在赋值的文件
|
替换模式:
替换命令的格式为:[range]s/pattern/string/[c,e,g,i]
range: 指的是范围,"1,8" 指从第1行到第8行,"1,$"从第1行到最后一行,也就是整篇文章,%是目前编辑的文件。
s(search): 表示搜索。
pattern:就是要被替换的字符串。
string:将替换pattern。
c(confirm): 每次替换前都会询问。
e(error): 不显示error。
g(global): 不询问,将做整行替换。
i(ignore):不分大小写。
g大概都要加,否则只会替换每一行的第一个符合的字符串。可以合起来用,比如cgi,表示不区分大小写整行替换,替换前要询问是否替换。
查找:
在命令行模式下,按/键进入末行模式,可以使用查找功能,在/后面加入要查找的内容,然后按Enter键,查找命令如下:
操作
|
说明
|
/
|
在命令模式下,按/键会在左下角出现一个'/', 然后输入要查找的字符串,按Enter键进行开始查找
|
?
|
和/键一样,只是/键是向前(下)查找,?键则是向后(上)查找。
|
n
|
往前继续查找
|
N
|
反向继续查找
|
下面这个图大致概括vim常用的一些命令:
附加功能:
在终端下使用vim进行编辑时,默认情况下,
编辑的界面上是没有显示行号、语法高亮度显示、智能缩进等功能的。
为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc。
在启动vim时,当前用户根目录下的.vimrc文件会被自动读取,该文件可以包含一些设置甚至脚本,所以,一般情况下把.vimrc文件创建在当前用户的根目录下比较方便,即创建的命令为:
$vi ~/.vimrc
下面是常用的一些设置:
去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
set nocompatible
显示行号
set nu
检测文件的类型
filetype on
记录历史的行数
set history=1000
背景使用黑色
set background=dark
语法高亮度显示
syntax on
设置匹配模式,比如当输入一个左括号时会匹配相应的那个右括号,相当于自动补齐模式
set showmatch
在编辑过程中,在右下角显示光标位置的状态行
set ruler
默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示
set nohls
vim使用自动对齐,也就是把当前行的对起格式应用到下一行
set autoindent
第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set tabstop=4
set shiftwidth=4
查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
时,别忘记回车
set incsearch
修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀
if has(“vms”)
set nobackup
else
set backup
endif
阅读(2625) | 评论(0) | 转发(1) |