vim---Vi IMproved by Bram Moonlenaar,是模式化的文本编辑器。有三种模式,分别是:
编辑模式,也叫命令模式;输入模式,有时也叫插入模式;末行模式。
三种模式之间的转换:
注意:末行模式不能与输入模式通信。
一、打开vim编辑器
#vim [options] FILE 1,1
i:insert,在当前光标所在处插入,插入在光标前。
a:append,在当前光标所在处插入,插入在光标后。
I:在当前光标所在行的行首,插入操作。
A:在当前光标所在行的行尾,插入操作。
o:在光标所在行的下方打开一个新行,并转入输入操作。
O:在光标所在行的上方打开一个新行,并转入输入操作。
退出:
保存退出,:wq;:wqall(多个文件);zz
不保存退出::q(无编辑退出); :q!(已编辑退出); :qall!(退出所有文件)
以下均在编辑模式进行
二、在vim中如何使光标移动
h, ←:向左移动
j, ↓:向下移动
k, ↑:向上移动
l, →:向右移动
三、如何在单词间跳转
w:跳至下一个单词词首
e:先跳至本单词词尾,再跳至下一个单词的词尾。
b:先跳至本单词词首,再跳至上一个单词的词首。
(: 在句子间跳转,向前一句。
):在句子间跳转,向后一句。
{:跳过整个段落,向上一段。
}:跳过整个段落,向下一段。
^:可快速跳至当前行的行首(第一个非空白字符)。
0:可快速跳至当前行的绝对行首。
$:可快速跳至当前行的绝对行尾。
行间跳转:
G: #G 跳至第#行
G 跳至文件最后一行
1G 跳至文件首部
四、如何翻屏
Ctrl+f: 向尾部翻一屏。
Ctrl+b: 向首部翻一屏。
Ctrl+d: 向尾部翻半屏。
Ctrl+u: 向首部翻半屏。
常用命令:
c: 修改,可在转换至输入模式之前删除一些东西。c要与跳转字符一块用,限定范围。cc:删除光标所在行,并进入输入模式。ncc: 删除n行。
d: 与c的作用一样,可删除东西,但不会进入输入模式。
删除字符 : x 删除当前光标所在处的单个字符;
nx 删除光标及其后n 个字符;
X 向光标前删除单个字符
替换: r ,replace 只能操一个字符,并且不会转换模式。如 5rA,表示把光标及其 后5个字符换成A。
R,进入替换模式
撤销:u(undo),撤销最近一次的编辑操作。
uu ,撤销最近2次的编辑操作。
nu,撤销最近n次的编辑操作。
Ctrl+r: 撤销刚才的撤销操作。
重做: . ,(redo) 重复执行上一条命令或操作 。
复制: y(yunk),
y$:复制从光标到行尾的内容。
yy:复制当前光标所在行的整行内容。
nyy:复制当前光标所在行的其后n行的内容。
粘贴: p,若是复制的整行,则在当前光标所在行的下方粘贴;若不是整行,则在光 标后粘贴。
P,若是复制的整行,则在当前光标所在行的上方粘贴;若不是整行,则在光 标前粘贴。
移动:先用d删除,再用p粘贴。
查找命令:
v:按字符选取
V:按行选取
/keyword(关键字):
?keyword(关键字):
n/N:向前或向后查找。
查找后并替换:
s: 在末行模式下使用
ADDR1(始),ADDR2(末) s/from(查找什么)/to(替换成什么)/flags(动作修正符)
flags: i 忽略大小写
g 全局都替换
m,n : 从第m行到第n行。
1,$ :第一行到最后一行。
. ,+8:从当前行往后8行(共九行)
1,$-1:第一行到倒数第二行。
% :全文搜索,第一到最后一行。
查找内容可使用正则表达式,替换的内容可使用``。
测试一下:
(1)把inittab中以#开头,其后有空白,空白后还有内容的行,将#与空白去掉,若#后全是空白,则不动。
①:%s@^#@@ 把#删除
②:%s@^#[[:space:]]*@@g 把#与空白去掉
③:%s@^#[[:space:]]*\([^[:space:]]\)@\1@g 保留#后的空白
(2)在全文找到以e结尾的单词,并把e换成E
: %s@\<\([[:alpha:]]\{1,\}\)e@\1E@g
五、若vim同时打开多个文件:
:next 切换至下一个文档
:first 切换至第一个文档
:last 切换至最后一个文档
:prev 切换至上一个文档
分割窗口:
水平分割 Ctrl+w,后按s
Ctrl+w,t:切换至最上一个窗口(多个窗口时)
Ctrl+w,b:切换至最下一个窗口(多个窗口时)
Ctrl+w,j:切换至下一个窗口
Ctrl+w,k:切换至上一个窗口
垂直分割 Ctrl+w,后按v
Ctrl+w,l:切换至最左一个窗口(多个窗口时)
Ctrl+w,r:切换至最右一个窗口(多个窗口时)
Ctrl+w,h:切换至左边窗口
Ctrl+w,l:切换至右边窗口
显示分割多个文件:
-o: 水平分割 如 vim -o
-O: 垂直分割 如 vim -O
六、设置vim的工作属性
vim的配置文件是 /etc/vimrc 和 ~/.vimrc。若想设置在全局生效,则在/etc/vimrc下配置;若想设置在本用户下生效,则在~/.vimrc下设置。
显示行号:set nu
取消行号: nonu (当前窗口编辑时)
自动缩进: set ai
取消缩进: set noai
语法高亮: syntax on|off
搜索高亮: set hlsearch 或 no hlsearch
大致上vim的简单命令已经介绍完了,这是弥补前面用到的而我没有说明过的vim编辑器的命令及用法,在这里又写一遍,记忆更深刻一些。
明天就要上课了,又要开始紧张了,绷紧了弦子,努力学习!!!
每天进步一点点,每一天都有不一样的收获!
参考别人的博客及本人的使用经验,添加一点新内容:
可视模式
标记文本
v 进入可视模式,单字符模式
V 进入可视模式,行模式
ctrl+v 进入可视模式,列模式,类似于UE的列模式
o 跳转光标到选中块的另一个端点
U 将选中块中的内容转成大写
O 跳转光标到块的另一个端点
aw 选中一个字
ab 选中括号中的所有内容,包括括号本身
aB 选中{}括号中的所有内容
ib 选中括号中的内容,不含括号
iB 选中{}中的内容,不含{}
对标记进行动作
> 块右移
< 块左移
y 复制块
d 删除块
~ 切换块中内容的大小写