Vim命令扩展,内附24例。

    xiaoxiao2021-03-25  94

    1.vim编辑器的替换模式与可视模式 在一般模式下按键盘上的r和R进入替换模式。如果按小r那么这时候就进入了替换模式,你下一个输入的字符会把你当前光标所在处的字符替换,然后自动退出替换模式。如果你按的是大R那么你下面输入的所有字符会把后面的字符依次替换,直到按退出替换模式。 在一般模式下按键盘上的v和V进入可视模式。如果是按小v那么这时候就时入了视图模式,这时候你移动光标会把你光标所在处到光标结尾处的所有字符选中,这时候可以进行复制,删除等操作。如果是按大V同样也是进入了视图模式,这时候移动光标会把光标所在行到光标结尾的行的所有内容选中,也可以进行复制,删除等操作。 2.删除从光标所在处到行尾字符 在一般模式下输入大写“ ”或者输入“ d$ 3.删除从光标所在处到行首字符 在一般模式下输入“ d^ 4.删除从光标所在行到文件末尾行 在一般模式下输入大写“ dG 5.删除指定范围内所有行 例:删除10到15行的所有内容 在一般模式下输入“ :10,15d ”回车 6.把正在编辑的文件另存为新文件 例:把正在编辑的文件另存为到“/root/”下面并保存为1.txt 在一般模式下输入“ :w /root/1.txt 例:把正在编辑的文件的第10行到第15行另存为1.txt并保存到root目录下在一般模式下输入“ :10,15 w /root/1.txt 7.把其它文件的内容导入到正在编辑的文件的光标所在处 例:把“/root/1.txt” 文件的内容,导入到下在编辑的文件的第10行下面 首先在一般模式下按“ 10G ”把光标定位到第10行 然后按“ o ”小写,当前行的下面另起一行,并进入插入模式 最后按键盘上的返回到一般模式,再输入“ :r /root/1.txt ”回车 r是替换当前字符的意思,用root/1.txt 的内容替换当前内容 8.正在编辑文件时,不退出文件仍可以运行linux命令 例:我在编辑一个文件,但这时候我想查看“/root/1.txt” 文件的内容,但是我不想退出我正在编辑的文件,那么我们可以这样 在编辑模式下输入“ :! cat /root/1.txt ! 表示不退出当前命令 9.把命令的执行结果导入到正在编辑的文件的光标所在处 这题我们可以结合上面两题,在一般模式下输入“ :r ! cat /root/1.txt 10.查找替换的功能使用 例:在10到15行的行首增加“#” 在一般模式下输入“ :10,15s/^/#/ 例:在10到15行的行首去掉“#” 在一般模式下输入“ :10,15s/^#// 例:在10到15行的行首增加“//” 在一般模式下输入“ :10,15s/^/\/\// ”或者“ :10,15s@^@//@ ”或者“ :10,15s#^#//# 注意: 在上面所有命令的最后面都可以加 g 或者 c 一起配合使用,g的意思是行中出现的所有指定字符都替换,但是如果加了g那么前面就不能出现位置定义字符,反之前面出现的位置定义字符,那么后面就不可以出现g。在后面加c可以跟用户交互,在查找到符合命令的字符提示用户是否替换,需要用户确认,否则不需要确认 11.把输入的指定字符替换为指定的字符 例:在编辑一个文档的时候,我要频繁的输入“ abcdefghijklmnopqrstuvwxyz ”这样的连续字符串,这时候我想只输入一个或者一串指定字符就可以替换为刚才的字符,比如我指定输入“aming”系统就会自动把“aming”替换成“ abcdefghijklmnopqrstuvwxyz 在一般模式下输入“ :ab aming abcdefghijklmnopqrstuvwxyz ”然后回车,再进入编辑模式,当你输入“aming”的时候就会发现自动替换成了“ abcdefghijklmnopqrstuvwxyz 12.快捷键的定义 未解决 例:我想在一般模式下按键盘上的ctrl+b快捷键,会自动在光标所在行的行首插入“#”号,然后自动退出到一般模式 在一般模式下输入“ :map ctrl+v ctrl+b I #  ”然后回车,这时候在一般模式按键盘上的ctrl+b的时候就会在光标所在的行首插入“#”号了 注意: 命令中 ctrl+v和ctrl+b 是键盘上的组合键,不是输入进去的字符,是需要按的组合键,其中第一个ctrl+v就照按,第二个ctrl+b是要定义的快捷键,根据自己需要的设置按。然后“I”的意思就是一般模式下的“I”进入插入模式并将光标移动到行首,然后接着输入“#”号,后面“”的意思是退出编辑模式 13.同进编辑两个文件或者 例:我现正在编辑1.txt文件,然后我想再打开root目录下的2.txt同时编辑,并把窗口上下水平分隔,一起显示 在一般模式下输入“ :new /root/2.txt 例:我现正在编辑1.txt文件,然后我想再打开root目录下的2.txt同时编辑,并把窗口左右垂直分隔,一起显示 在一般模式下输入“ :vsplit /root/2.txt 注意:在一般模式下按“ ctrl+w ”组合键,再按左右,或者上下方向键,可以在不同窗口之间切换。如果在一般模式下输入“ :only ”那么只保留当前正在编辑的窗口,其它全关闭。 15.在vim查找关键字时不区分大小写 在一般模式下输入“ :set ic 如果想取消就输入“ :set noic 16.如何把文件设置成只读文件,只有强制保存时才能保存 在一般模式下输入“ :set readonly 17.把文件恢复到打开时的状态 在一般模式下输入“ :e! 18.配置文件的使用 以上那么多操作,像设置忽略大小写,设定快捷键,设定自动替换,等一些操作,当电脑重启后就没有了。这时候我们可以把这些命令写入配置文件,这样电脑重启后还是可以使用,我们有两种方法 第一种:所有用户都统一修改“ /etc/vimrc ”文件,该文件是vim的配置文件,在末尾加入需要设置的命令, 第二种:只对当前用户 修改用户家目录下的“.vimrc”文件~/.vimrc,注意有个点,这是隐藏文件,一般用户家下没有,需要手动创建 详解 centos系统,修改vim的配置文件 /etc/vimrc 添加如下内容: 1、 打开 vimrc ,添加以下语句来使得语法高亮显示: syntax on 如果此时语法还是没有高亮显示,那么在 /etc 目录下的 profile 文件中添加以下语句: export TERM=xterm-color highlight Comment ctermfg=green guifg=green 2、解决方向键和退格键失效的问题(采用非兼容模式) set nocompatible set backspace=2 3 、设置 Windows 风格的 C/C++ 自动缩进(添加以下 set 语句到 vimrc 中) 1 ) 设置(软)制表符宽度为 4,即tab长度为4 : set tabstop=4 set softtabstop=4 2 ) 设置缩进的空格数为 4 set shiftwidth=4 3 ) 设置自动缩进 :即每行的缩进值与上一行相等;使用  noautoindent  取消设置: set autoindent 4 ) 设置 使用  C/C++  语言的自动缩进方式: set cindent 5)增强模式中的命令行自动完成操作 set wildmenu 6)允许退格键删除 set backspace=2 7)启用鼠标 set mouse=a set selection=exclusive set selectmode=mouse,key 8)设置编码自动识别, 中文引号显示 set fileencodings=utf-8,gbk set encoding=euc-cn set ambiwidth=double 9)设置高亮搜索 set hlsearch 10)在搜索时,输入的词句的逐字符高亮 set incsearch 11)继承前一行的缩进方式,特别适用于多行注释 set autoindent 12)显示括号匹配 set showmatch 13)如果想在左侧显示文本的行号,可以用以下语句: set nu 14)不要生成swap文件,当buffer被丢弃的时候隐藏它 setlocal noswapfile set bufhidden=hide 15)最后,如果没有下列语句,就加上吧: if &term=="xterm" set t_Co=8        set t_Sb=^[[4%dm set t_Sf=^[[3%dm endif 或者加上 if &term == "xterm" if has("terminfo") set t_Co=8 set t_Sf=^[[3%p1%dm set t_Sb=^[[4%p1%dm else set t_Co=8 set t_Sf=^[[3%dm set t_Sb=^[[4%dm endif endif 19.常用快捷键 查看光标当前的man手册 shift+k 删除当前光标上的单词 d+i+w 选中当前光标上的单词 v+i+w 在vim里面删除光标后的所有字符 shift+d 20.快速删除某段文本 因为不是一行,所以用dd不行,但用x去删除的话,又太慢。可以使用da,如何使用,请看下面的例子。 比如,我的1.txt内容如下: 11111111111111111111111111 222222222222222222222222222222B3NzaC1yc2EAAAABIwAAAQEAv5oJvuIdaaVUsDOA2FbfnL0K2GbTc05Yg6TGM+8SNleI6bU5MhAy2uP5J4yCrMu43911hEJ2uh1UPycWX1O4xpEgUm8TGIs1HoQySnukv3g121uOLACRj37qqL9j4RRhrUxhunAW3alLSGIV0mxFD0ApyycFoLA/1I3hU7Yyx7tdripwz0FeHHhT3Qjfe9yC8Z6Ptq7cvBPXBBvc/G8pXVq3bnGMtj9Ifmbh7NnTvfHnEZGacf2MR4FSy0MMuNL0k3X5sBlsyP9/rXY9CPOh73eKUhZQoK3uWjwuDRp/dqrxgWDVeg0NZ+0t130pKu/LSREothWoVBu54rrtUUIdb3Sq0xsW4x9EhKGJJHPvBrbGbiDPTKBUaHdQEfmQQPAWeeX1hMC7lCunnfgTzf39Pv/2VpXz2l8NH2Jem0nrS48A6sf4eFz5VIakoRySMQu/6mY4s9aU3arbX+JvUE9s2/7D+JdqJlINtQqRU4V92LQq3BJaSMmKiwnPSytxDtARI3+8I2XXqFCJ5bBY7e3333333333333333333333 44444444444444444444444444444 我现在想删除22222222222和33333333333333333之间的字符只需要这样做: 1. 在需要删除的文本前后,增加对等的特殊符号,如{} () ‘ ’ , , 11111111111111111111111111 222222222222222222222222222222 { B3NzaC1yc2EAAAABIwAAAQEAv5oJvuIdaaVUsDOA2FbfnL0K2GbTc05Yg6TGM+8SNleI6bU5MhAy2uP5J4yCrMu43911hEJ2uh1UPycWX1O4xpEgUm8TGIs1HoQySnukv3g121uOLACRj37qqL9j4RRhrUxhunAW3alLSGIV0mxFD0ApyycFoLA/1I3hU7Yyx7tdripwz0FeHHhT3Qjfe9yC8Z6Ptq7cvBPXBBvc/G8pXVq3bnGMtj9Ifmbh7NnTvfHnEZGacf2MR4FSy0MMuNL0k3X5sBlsyP9/rXY9CPOh73eKUhZQoK3uWjwuDRp/dqrxgWDVeg0NZ+0t130pKu/LSREothWoVBu54rrtUUIdb3Sq0xsW4x9EhKGJJHPvBrbGbiDPTKBUaHdQEfmQQPAWeeX1hMC7lCunnfgTzf39Pv/2VpXz2l8NH2Jem0nrS48A6sf4eFz5VIakoRySMQu/6mY4s9aU3arbX+JvUE9s2/7D+JdqJlINtQqRU4V92LQq3BJaSMmKiwnPSytxDtARI3+8I2XXqFCJ5bBY7e } 3333333333333333333333 44444444444444444444444444444 注意,2222 和{ 之间没有换行。 2.  把光标移动到第一个{,也就是最后一个2后,然后输入da{ 即可把{}内的字符全部删除。 其实vim还有一个比较常用的那就是v了,用v和d来删除也挺方便的: 打开一个文本后,直接按v,然后移动光标可以选中文本,当选中完你想要的文本后,直接按d,就删除了。 21.vim新建文档粘贴,出现乱码,格式不对 在新建文档中粘贴复制的代码,发现因为自动缩进发现文本文档一行比一行靠右,看起来乱成一团。 vim中粘贴保留格式 :set paste 在粘贴文档之前,在命令行模式下输入 :set paste 再粘贴 22.vim 给文件加密 Linux用vim/vi给文件加密和解密 一、        利用 vim/vi 加密: 优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了; 缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除; vi编辑器相信大家都很熟悉了吧,vi里有一个命令是给文件加密的,举个例子吧: 1)        首先在root主目录/root/下建立一个实验文件text.txt: [root@www ~]#  vim/vi  text.txt 2)        进到编辑模式,输入完内容后按ESC,然后输入:X(注意是大写的X),回车; 3)        这时系统提示让你输入密码,2次,如下所示: 输入密码: ******* 请再输入一次: ******* 4)        保存后退出,现在这个文件已经加密了; 5)        用cat或more查看文件内容,显示为乱码;用 vim/vi 重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示为乱码! 注意:文件加密后,千万别忘了密码! 二、        解密用vi加密的文件(前提是你知道加密的密码): 1、用 vim/vi 打开文件如text.txt,要输入正确的密码,然后在编辑时,将密码设置为空,方法是输入下面的命令: :set key= 然后直接回车,保存文件后,文件已经解密了。 2、或者这样也行: 在正确打开文件后用 “:X” 指令,然后给一个空密码也可以。保存用“wq!”保存。 两种方法实际上效果是一样的。 23、 vim下注释所有的行:ctrl+v j/k+ shift +i+Esc 命令行模式下 ctrl + v 进入 visual1 block 模式 按j /k 进行上下选择,选中需要添加注释的行 按大写字母I ,这时光标会固定在某一行, 再按需要注释的字符,如## 按 ESC 退出VISUAL block 之后,添加注释成功 24、取消多行注释 ctrl + v 进入visual block 模式,按小写L选择需要取消注释的列的个数,上例所诉的##需要选中两列,选中之后,按 d 即可删除。 笔记是整理合并而来,已忘记哪里转载,如有侵权,请联系博主进行删除或增加连接处理。
    转载请注明原文地址: https://ju.6miu.com/read-7232.html

    最新回复(0)