vim小结

vi: Visual Interface: 全屏的文本编辑器     iMproved

vim: 语法高亮,插件
文本: 纯ASCII,
字处理, word

vim [options] +/PATTERN file
+num ++/PATTERN
vim +2 /etc/fstab     光标出现在第二行行首
vim + /etc/fstab      光标出现在最后一行行首

vim +/lp /etc/passwd  光标出现在lp行首


模式化的编辑器:
模式:不同的模式下,击键所表示的意义不所不同;
编辑模式,命令模式
输入模式
末行模式
打开vim: 默认编辑模式
编辑-->输入:
i:insert 在当前光标所在处的前面开始插入
a:append 在当前光标所在处的后面开始输入
o:在当前光标所在行的下方新启用一行,并在行首开始输入
I:在当前光标所在行的行开始输入
A:在当前光标所在行的行开始输入
O:在当前光标所在行的上方新启用一行,并开始输入
输入-->编辑:  Esc
输入<-->末行:不行
编辑-->末行       :
末行-->编辑:Esc Esc


光标跳转:
一次移动一个字符
h: 左   
l: 右    右无名指
j: 下    
k: 上   
N: 跟数字组合  5h 左移5个字符
一次移动一个单词
w: 跳到下一个单词的词 word
e: 跳到词尾
b: 跳到词首
一次移动一个句子:
)   往后
(   往前
一次移动一个段落:
}   往后
{   往前
行间跳间:
#G    nG:跳到n行
G              跳到最后1行
1G或gg     跳到第一行
行内跳转:
^   行首第一个非空白字符
0   绝对行首
$  
翻屏:
Ctrl+f:向尾部一次一屏  forward
Ctrl+b:向首部一次一屏 backward
Ctrl+d:向尾部一次半屏 downward
Ctrl+u:向首部一次半屏 upward
删除:
删除单个字符:x, #x   往后删   10x       X 往前删
删除: d   (delete)      与跳转命令结合:d^  d0  d$相当于D  de  dw
删除行:dd     ndd
指定删除的行范围:末行模式
地址范围:m,nd
.   表示当前光标所在行
$  表示最后一行 : .,$d   删除当前行到最后一行
+n                                            : .,+5d   删除当前行往下5行
-n    往前                                  :.,$-1     删除当前行到倒数第1行
删除的内容的会保存至缓冲区,可以将最近一次删除的内容粘贴至其它处;相当于文本移动

删除的内容还以撤消;撤消取决于缓冲区内容保存个数,默认50次
粘贴:p, P 
p: 若删除的是完整行,在当前光标所在行的下方粘贴;若不是完整行,在光标后方粘贴;

P:删除的是完整行在当前光标所在行的上方粘贴
复制:y  用法与d一样,可与跳转命令结合  2yy 
撤消:u#u 
撤消撤消:Ctrl+r
重做: redo   点.   多次执行上一条编辑命令

编辑模式-->输入模式:
改变:c:    先删除再进入输入模式   cb cf  cc删除当前行再进入输入模式
查找:
/keyword
?keyword
n/N

查找并替换:末行模式:  s
ADDR1,ADDR2s///gi    起始地址到结束地址

修饰符g:  global全局   .,$s/elif/ELIF/
i:   ignore忽略大小写第一行到最后一行 1,$相当于%

                .,$s/\\\/by/@@BY/g    把\/by替换成@@BY (第1,3个\ 表转义)   
s///: s#/by#@BY#     / 可用任意符号当分隔符,最好选择搜索字符串中不包含的字符串,省的转义
s#\\/by#@@BY#


模式匹配     替换的内容不能使用模式

%s@^#@@g                  将#开头的行删除

%s@^#[[:space:]]*@@   将#开头,带空白字符的行中#和空白字符删除

%s@^[[:space:]]*#[[:space:]]*@@   

%s@\<init\>@INIT@g      init单词给换成大写的INIT


关闭编辑器:
末行模式: :q :q!  强制退出 :wq 保存退出 :w!  属主强制保存只读文件
编辑模式: ZZ: 保存退出
末行模式:      :w 另存为       :1,10w /tmp/vim.out  保存1至10行到/tmp/vim.out
末行命令          :!ls /var    执行shell命令,不用退出
:e /tmp/vim.out  回车    e编辑另外一个文件

一次打开编辑多个文件:   方便复制粘贴
vim file1 file2 file3     末行模式
:first  第一个

:next  下一个
:prev 上一个
:last  最后一个
分割个文件多窗口显示:
Ctrl+w, s :水平分割          小心Ctrl+s 挂起
Ctrl+w, v :垂直分割
Ctrl+w, ARROW      
分割窗口显示文件,用vim命令的选项:
vim -o file1 file2  : 水平分割
vim -O file1 file2 : 垂直分割

可视化模式:visual
编辑模式按 v 非整行 或V 整行选取 或Ctrl+v 走过矩形块 进入可视化模式

定制vim使用属性:
全局  /etc/vimrc
用户  ~/.vimrc

:set nu :set nonu

set ai set noai     auto indent: 自动缩进
set backup    自动备份
syntax off/on  语法高亮   

set [no]hlserach    高亮显示high light

查找替换:
&  直接引用前面模式匹配到的全部内容              
:%s@l..e@&r@

%s@\(h[a-z]\)\1@\1 \1@g
haha

h[a-z]h[a-z]

haho: hoha
s@\(h[a-z]\)\(h[a-z]\)@\2\1@

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值