vim使用

2018-04-05  本文已影响14人  geekMole

Sublime插件 Emmet/PyV8错误
[~~~~高手总结](http://www.cnblogs.com/itech/archive/2009/04/17/1438439.html
vimrc配置
VIM IDE
mvim安装支持Python
在VIM中添加一键编译和一键运行
macVim安装
mvim --version |grep python 检验vim是否支持Python

1. vim 配置:

sudo vim /etc/vim/vimrc

syntax on   //语法高亮如果这行被注释掉了可以取消注释
请在您的VIM的最后一行,输入他们,可以让您的VIM变得更漂亮、舒服。
set nu                          // 在左侧行号
set tabstop                  //tab 长度设置为 4
set nobackup              //覆盖文件时不备份
set cursorline              //突出显示当前行
set ruler                      //在右下角显示光标位置的状态行
set autoindent

2. 操作

2.1. 文件操作

Vi file :使用vim打开要编辑的文件
:w :保存修改
:q! : 退出vim,后面加感叹号表示不保存修改强制退出
:wq: 保存修改并退出
:saveas ~/some/path/: 将文件保存到其他位置
ZZ: 同:wq

2.2. 编辑:

从语法上来说,使用单个字母”t”来表示这个向前查找的“目标”,这样我就可以使用“dt.”表示删除当前位置到下一个句号之间的内容,”yt;”表示拷贝当前位置到下一个分号之间的内容。

通过“.”这个小点可以让你做一些很棒的事情——重复之前你的任何一个操作。使用“.”来重复上一次操作你所做的许多操作可能都有重复的价值。比如进入插入模式添加一些文本内容。你只需执行一次,然后一直执行点命令来重复就可以了。

请看下面的例子。删除一个单词dw紧接着执行,再删除5个单词5.多么给力! 【注意:除了点命令外,&也是一种强大的重复命令,用于重复ex模式下的上一条命令(还记得ex模式吗?)】

dd命令删除了一行,你可以用p粘贴回去。有一点要记住:粘贴的起始位置从你当前光标位置之后开始,
ddp使用这条命令可以很快速的交换两行的位置。删除你所在的行将它粘贴回之前所在位置的下面。(
拼写检查选项。在~/.vimrc的某个位置中添加找出拼写错误如果在配置文件中设置了拼写检查的选项,那么拼错的单词会自动添加下划线。你也可以手动输入:set spell和:set nospell来启用或禁用。不管怎么说,一旦开启了拼写检查,如果存在拼写错误的话,你就可以使用以下命令来跳转:跳转到下一处拼写错误]s
跳转到上一处拼写错误[s
若光标处是错误单词,给出修改建议z=
将识别的错误单词标记正确zg
将vim视为正确的单词标记为错误单词zw
我习惯在~/.vimrc中添加一些拼写相关的简写命令。首先就是让修正拼写错误的命令变得简单:将拼写修正标记为f在某些情况下,比如说我需要创造性的拼写一些单词时,我会使用下面的命令来取消拼写检查。想要重新打开拼写检查只要再执行一次这个命令就可以了。Toggle spelling visuals withsnnoremaps :set spell!

3. 进阶

  1. 在整个文件或某几行中在行首或行尾加一些字符串
    vi file
    :3,$s/^/some string / 在文件的第一行至最后一行的行首前插入some string
    :%s/$/ some string/g 在整个文件每一行的行尾添加 some string

:%s/string1/string2/g 在整个文件中替换string1成string2
:3,7s/string1/string2/ 仅替换文件中的第三到七行中的string1成string2

Note: s为substitute,%表示所有行,g表示global

  1. 同时编辑两个文件,在两个文件中拷贝剪贴文本
    vi file1 file2
    yy 同时打开两个文件,在文件1的光标所在处拷贝所在行
    :n 切换到文件2 (n=next)
    p 在文件2的光标所在处粘贴所拷贝的行
    :N 切换回文件1
  2. 替换文件中的路径

:%s#/usr/bin#/bin#g 把文件中所有路径/usr/bin换成/bin
或者用
:%s//usr/bin//bin/g 在'/'前用符号指出'/'是真的单个字符'/'

  1. 用 vi 多行注释
    如果要给多行程序作注释,一个笨办法就是 插入 # ,然后用 j 跳到下一行用 . 命令,重复上个命令。如果要注释几百行,这样的方法恐怕太愚蠢了。一个聪明的办法是:
    :.,+499 s/^/#/g
  2. 我们可以看几个例子。
    单词文本对象
    首先来看基于单词的对象
    iw : 单词内
    aw :单词周围这些都是目标(名词),所以我们可以对它们做一些操作,比如说删除、修改等等。
    删除单词(包括单词周围的空格)daw【注意: 对象内部与对象周围这两者之间的区别在于单词旁边是否有空格】
    句子文本对象
    is: 句子内部
    as: 句子周围
    句子对象的工作原理与单词对象是一致的,
    修改整条句子cis 它会删除整条句子并进入插入模式等待你输入新的内容。更多对象类型还有许多其他的对象类型,我只简单的来介绍一下。
    段落 : ip 和ap
    单引号 : i’和a’
    双引号: i”和 a”
    当我编辑代码或者HTML文件时,时常会用到这些命令。只需要输入ci”就可以删除双引号内部的所有内容,并将你挪到双引号中间进入插入模式等待你的输入。对其他类型的某些对象同样适用,比如说各种括号(圆括号、尖括号、大括号)和标签(html)。比如说编辑HTML链接时,URL地址一般在双引号之间,链接文本在标签中定义;通过vim这两条命令可以很方便地修改:ci”(修改URL)和cit(修改链接文本)。
    文本对象总结下面列出常见的文本对象:
    单词: iw 和 aw
    句子: is 和 as
    段落: ip 和 ap
    单引号: i’ 和 a’
    双引号: i” 和 a”
    反勾号 : i· 和 a
    圆括号: i( 和 a(
    方括号: i[ 和a[
    大括号: i{ 和a{
    标签: it 和at

首先,学会进入可视化模式并选择文本。通过“v”进入可视化模式,有三种选择。基于字符选中: v基于行选中: V段落选中: Ctrl-v在容器内部选中文本有时候你会处于一段文本中,两头被,.({[之类的符号所包围。
你可以使用下面的命令来选中这部分的内容:选中圆括号中的内容vi(选中中括号之间的内容vi[你还可以加数字限定选择的层数(比如说你处于嵌套层)选中两层大括号之间的所有内容v2i{【注意: 你也可以使用va来代替vi。
基于字符的可视化选择从基于字符的可视化开始介绍(从普通模式输入v进入可视化模式),在这种模式下你可以选中单个字符、多个字符、单词等等。处于可视化模式中,你的移动动作会修改被高亮选择的文本。这就意味着,w或)之类的动作也会起作用,它们可以扩展当前高亮选择的范围。
每行需要追加个冒号。你会怎么做?对整个文件添加分号0i:j0vG.wut大大简化了我们的操作,
步骤如下:走到第一行行首并插入一个冒号(0i:)走到下一行定位到行首位置(j0,注意之前是插入模式,需要先回到普通模式)选中当前行到文件末尾的内容(vG)给选中的内容添加冒号(.)这样对六万行文件的操作就全部完成了。

上一篇下一篇

猜你喜欢

热点阅读