第10章 vim
鸟哥的linux私房菜
vim 里面直接粘贴可能造成多余的空格
使用命令set paste
再按’i’进入粘贴模式下的insert就不会有问题
vim的三种模式
i,I,o,O,a,A,这 6个键从一般模式
进入编辑模式
,但略有区别
r,R这两个键从一般模式
进入编辑模式
(的替换模式)butr替换单个字符
:,?,/ 这三个键从一般模式
进入命令行模式
[Esc]从编辑模式
退回一般模式
:wq
保存并离开vi
vim 按键说明
[Ctrl]+[f] 屏幕向下移动一页,相当于[pgdn](+符号说明是同时按)
[Ctrl]+[b] 屏幕向上移动一页,相当于[pgup]
G 光标移动到这个文件的最后一行
gg 光标移动到这个文件的第一行
nG光标移动到这个文件的第n行(n和大G连续按,不是同时按)
/word
向下查找一个名为word的字符串
?word
向上查找一个名为word的字符串
n继续刚刚的查找命令
N“反向”前一个查找操作
:n1:n2s/word1/word2/g
在n1行至n2行之间替换word1为word2
:1,$s/word1/word2/g
从1行至最后一行执行替换
:1,$s/word1/word2/gc
执行替换,但需要用户确认(confirm)
x(X)向后(向前)删除一个字符,相当于[Del]([Backspace]
nx 连续向后删除n个字符
dd 删除光标所在的行
ndd 删除光标所在的向下的n行
d1G 删除光标所在行到第一行的所有数据
yy 复制光标所在行
nyy 复制光标所在的向下n行
p(P) 将复制的数据在光标的下一行(上一行)粘贴
u 重复前一个操作
. 重复前一个操作
[Ctrl]+r 重做上一个操作
:w[filename] 将编辑的数据保存成另一个文件(类似于另存为)
vim的保存文件,恢复与打开时的警告信息‘
vim会在被编辑的文件的目录下载新建一个名为.filename.swp的文件
给linux下的文件加一个shebang,说明是UTF-8编码的,支持中文
{ echo -n -e "\xEF\xBB\xBF"; cat result_test.csv; } > result_test1.csv
Linux vim全选功能的实现
曾经也在找看看有没有快捷的方法全选,但是网上很多都是重复,并且错误的,比如:
1,$y
,这是什么?要写也要写成:1,$y
,但是我告诉你,写成:1,$y
是全部复制,不是全选dG
,这个就更加误导人了,这是删除光标所在行到最后一行的内容(包括光标所在行的内容)
上面这里都扯到哪里去了。
全选正确的命令是:
ggVG
稍微解释一下上面的命令
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行 www.2cto.com
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
“+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用