知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

vim技巧收集

发布时间:2014-09-05 15:02:21作者:知识屋

vim技巧收集
 
最近喜欢看看vim的东西了,在网上收集了一些技巧,贴出来好便于以后查找:
去除重复:  www.zhishiwu.com  
方法一:
:sort
:g/^/(./+/)$/n/1/d
方法二:
    :sort u
删除某些行:
方法一:
    :%s/正则表达式//g
方法二: 
    :g/正则表达式/d
在Vim中直接调用Linux的seq命令  输出10,11,12.。。。20
:r !seq 10 20 (多行)或 :r !echo {10..20} (单行)
 
以下命令可以对标点内的内容进行操作。
ci'、ci"、ci(、ci[、ci{、ci< - 分别更改这些配对标点符号中的文本内容
di'、di"、di(或dib、di[、di{或diB、di< - 分别删除这些配对标点符号中的文本内容
yi'、yi"、yi(、yi[、yi{、yi< - 分别复制这些配对标点符号中的文本内容
vi'、vi"、vi(、vi[、vi{、vi< - 分别选中这些配对标点符号中的文本内容
cit 删除一对 HTML/XML 的标签内部的所有字符并进入插入模式
ci” ci’ ci` 删除一对引号字符 (” 或 ‘ 或 `) 中所有字符并进入插入模式
另外如果把上面的i改成a可以连配对标点一起操作。
 :sh    如果要在编辑环境中和shell长时间交互,用这个跳到shell环境下面,退回vim环境就是exit了
   : .!command     在交互的过程中,如果我们需要将程序的执行结果直接贴到vim中,当然位置是vim中的当前行了,就用这个。(以前没有实验成功,应该是.!)
!! 在 noraml 模式里直接插入外部程序输出
   :line1,line2 d  删除line1,与line2之间包括本身的文本行。
  :line1,line2 m line3    将line1与line2之间的内容包本身移动到line3之后。
 :line1,line2 co line3   将line1,line2之间的内容包括本身复制到line3之后。
set colorcolumn=80      set cuc
  用shift+字母可以在小写下转化为大写
:ab string1 string2     string2是我们原本要输入的内容,string1是我们设定的简写方式
  :r filename  将该文件补充到当前行的下面
   nJ 先按n,然后在按shfit+j,这样下面的n行都会被连接到当前行的末尾
set cuc   set cul     这两个是增强视线效果     
set autoindent    自动缩进
set ruler       标尺
set autoread       自动读取
history
Ctrl-A 数字++    Ctrl-X 数字--   normal mode:
CTRL-X CTRL-F    补全文件名 
CTRL-X CTRL-L    整行补全
CTRL-X CTRL-N   根据当前文件里关键字补全
CTRL-X CTRL-V    补全vim命令
:mX 移动行  当前行移动到第X行
:coX :tX 复制行,当前行复制到第X行
'' 此命令相当有用, 它移动光标到上一个标记处, 比如用 gd, * 等查找到某个单词后, 再输入此命令则回到上次停留的位置.
   '.               此命令相当好使, 它移动光标到上一次的修改行.
  `.               此命令相当强大, 它移动光标到上一次的修改点.
 .                                                重复上次编辑命令.
gj,   gk     长行上下移动把换行的行当成一行来移动
选择需要统计的文本 按下 g<C-g>
:g/搜索/# 可以展示所有找到的结果并且附带行号
:Sex 分割并展示当前文件所在目录,:E 展示当前文件所在目录
:only 关闭当前标签页中的其它窗口;:tabo[nly] 关闭其它标签页
gu 变成小写,gU 变成大写,g~ 则切换大小写。如 ggguG 全文变小写。可视模式下也可以用 u U ~ 来达到相同的功能。
g; 按照最近修改的顺序进行光标的跳转,g, 与 g; 类似但方向相反
:v/test/d 删除当前文件中所有不包含test的行 
:g/test/d 删除当前文件中所有包含test的行
Normal模式下按”gf“  vim打开光标文件 ,按”CTRL-^“回到刚才的位置
”q/“和”q?“命令,在vim窗口最下面打开一个新的窗口,这个窗口会列出你的查找历史记录
‘incsearch‘表示在你输入查找内容的同时,vim就开始对你输入的内容进行匹配 
 ‘ignorecase‘选项表示在查找时忽略大小写。
进入normal模式,按查找键盘(/),然后然后用鼠标选择需要的内容,选取会自动选择行号,菜单栏编辑-复制即可。
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜