linux学习--文本编辑以vim

linux系统中,主要有两个编辑器vim和emacs.vim以其快速和简洁深受用户使用.

vim

vim的模式

在vim一共有四种模式,分别是普通模式,插入模式,可视模式,和命令行模式

1
2
3
4
5
6
7
8
(1)普通模式:
进入vim的初始化模式,在这个模式下可以进行浏览,在其他任何模式下都可以按esc转换到普通模式
(2)插入模式:
普通模式下可以对文本进行编辑修改
(3)可视模式
可视模式相当于是高亮选取文本后的普通模式
(4)命令行模式
可以执行vim的相关命令,如保存文件,或改变编辑器本身,设置标签,退出编辑器等操作

vim的使用技巧

1.插入类命令

1
2
3
4
5
6
7
8
9
10
11
i  	 //在当前字符前插入
I /在当前字符行首插入
a /在当前字符后写入
A /在当前行尾写入
o /在当前行下新增一行
O /在当前行上面新增一行
s /删除光标当前字符,进入到插入模式
S /删除整行内容,进入到插入模式
r /替换当前字符,替换之后立即进入插入模式变成普通模式
R /从当前字符开始替换,直到按esc才退出出入模式变成普通模式
esc /推出插入模式

2.移动类命令

1
2
3
4
5
6
7
8
9
10
11
12
h       	//左移
j //下移
k //上移
l //右移
$ //移动到本行的最后一个字符
G //移动到最后一行
gg //移动到第一行
ctrl + f //向下翻一页
ctrl + b //向上翻一页
H //移动到屏幕最上方那一行的第一个字符
M //移动到屏幕最上方那一行的第一个字符
L //移动到屏幕最下方那一行的第一个字符

3.搜索替换类命令

1
2
3
4
5
/word  		 //向后搜索word
n //继续向后搜索下一行
:%s/w1/w2/g //全文档把搜索w1替换为w2,如果不加g,则只替换每行的第一个
:1,10s/w1/w2/g //在1~10行内搜索w1替换成为w2
:8,s/w1/w2/gc //从第八行到最后一行搜索w1替换成为w2,并且请求确认

4.删除复制粘贴

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
x               //删除当前字符
nx //向后删除n个字符
dd //删除当前行
ndd //从当前行开始,删除n行,包括当前行
dgg //删除当前行到开始行
dG //删除当前行到开始行
d$ //删除当前字符到行尾
d0 //删除到行首,但不删除当前字符
yy //复制当前行
yny //从当前行向下复制n行
ygg //复制当前行直到第一行
yG //复制当前行直到最后一行
y0 //复制到行首,但是不包括当前字符
y$ //复制当前字符到行尾
p //在下一行粘贴,如果不是复制了整行,则是在当前字符后面粘贴
P //在上一行粘贴,如果不是复制了正行,则在当前字符前面粘贴
u //还原前一个动作,历史向后退
. //重复前一个动作

5.存储推出类命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
:w              //保存当前编辑的内容
:w! //当所编辑的文件为只读时,强制写入,但不一定能成功
:q //退出vim
:q! //强制退出vim而不保数据
:wq //写入,然后退出
:wq! //强制写入,然后退出
:w newfile //令存为文件,但是仍旧编辑当前文件。
:n1,n2 w newfile //把n1到n2另存到newfile,但仍编辑当前文件
:r filename //读入filename中内容,添加到当前行下面
:! cmd //暂时离开vim界面,执行cmd命令,退出命令之后仍然回到vim
:r ! cmd //把cmd执行的输出,写到当前行下面
:set nu //显示行号
:set nonu //不显示行号
:set mouse=a //使鼠标生效

6.选择类命令

1
2
3
4
5
6
7
8
v            	 //字符选择,会把光标所经过的字符反白选择
V //行选择,会把光标所经过的行反白选择
ctrl+v //区域选择,可以调整反白的长和宽
y //复制选择的区域
d //删除所选择的区域
r //删除所选择的区域
I //前面插入整列
A //后面插入整列

7.多窗口编辑

1
2
3
4
sp                //把当前文档分为两个窗口俩显示
sp newfile //新增一个窗口显示另一个文档
ctrl+w+j //移动到下面的窗口
ctrl+w+k //移动到上面的窗口

vim配置

1
2
3
4
5
6
当我们使用 vim 时,在当前登陆用户的家目录中自动生成.viminfo 文件,
用来保存 vim 的历史操作,以便在下次打开文档的时候,能快速重现文档的最
后状态。
(1)对所有用户都生效的 vim 设置放置在/etc/vimrc 中,一般不做修改。
(2)个性化的设置,可以放在 ~/.vimrc 中。 vim 在启动时,首先会执行
/etc/vimrc 中的配置命令,然后执行 ~/.vimrc 中的配置命令。

vim高级用法,函数定位

catgs

1
2
3
4
# catgs -r /usr/include/     //在/usr/include/下生成tags文件
# vim /etc/vimrc //添加一行, set tags=/usr/include/tags
//如果有多个tags需要定位,在配置中添加set tags+=/XXX/XXX/tags
# vim -t printf //就可以直接查找printf,可以会有多个,按提示选择就行

其他

在使用vim的时候在退出的时候由于手误打开vim的命令历史,这时候,只要使用方向键
调到所要选择的命令,回车即可。
一般退出的时候会先输入: 然后输入q
而有时候手误输入成了 q 然后输入: 这样就会打开命令历史

Contents
  1. 1. vim
    1. 1.1. vim的模式
    2. 1.2. vim的使用技巧
  2. 2. vim配置
  3. 3. vim高级用法,函数定位
    1. 3.1. catgs
    2. 3.2. 其他
,