Vim操作

来源:互联网 发布:手机淘宝神笔使用教程 编辑:程序博客网 时间:2024/06/03 16:29

Vim用法

根据参考文章对vim的用法进行总结记录,本文仅用作个人备忘。

  • vim安装
  • 配置文件
  • 简单介绍
  • 输入模式
  • 常用操作
  • 插件操作

vim安装

-Ubuntu:sudo apt-get install vim-gtk
-Centos: yum -y install vim*

配置文件

sudo vim /etc/vim/vimrc 使得语法高亮:syntax on
在VIM的最后一行,输入他们,可以使VIM变得更漂亮、舒服。
set nu // 在左侧行号
set tabstop //tab 长度设置为 4
set nobackup //覆盖文件时不备份
set cursorline //突出显示当前行
set ruler //在右下角显示光标位置的状态行
set autoindent //自动缩进

简单介绍

Vim有三种模式:
1.导航(navigation)模式。 这时候,字母就是上下左右键。
2.输入模式。这时候,你按字母键,才会输入字母。
3.命令模式。需要先输入”:” 冒号,才会进入。
模式切换:
默认为导航模式。 在其他模式下,按”ESC”就回到了导航模式。
在导航模式下,输入 a, i, o等,就可以进入到输入模式。
在导航模式下,输入 : 可以进入到命令模式。
用Vim的时候,ESC 会用的比较多。

输入模式

输入文本

从导航模式到编辑模式,有下面几种方法:
在光标前输入: i ( insert )
在光标后输入: a (append / after )
在行首增加内容: shift + i
在行末增加内容: shift + a
在光标下行增加内容: o
在光标上行增加内容: shift + o (这个操作往往会有500毫秒的延迟)

删除

删掉一个字母:x
删掉一个单词: dw
删掉一行: dd
删掉多行: shift +v, 然后 x 或者 d

复制与粘贴

复制,或者删除(vim认为删除就是剪切,所有被删掉的内容,都会被放到复制缓冲区中)后,就可以粘贴了。
复制一个单词: yw
复制当前行: yy
粘贴: p

常用操作

意义 操作 左下上右 h j k l 下一个词 or 上一个词 w or b 下一屏 or 上一屏 ctrl+f or ctrl+b 选择多行 shift+v 上下左右选择 (可以尝试只按住v) 搜索 :/keyword (下一个:n 上一个:shift+n) 全局替换 :%s/旧字符/新字符 局部替换 选择多行再进行替换 代码补全 下一个候选ctrl+n 上一个候选ctrl+p 显示/隐藏行数 显示行数:set number 取消行数:set nonumber 折叠/取消折叠过长的行 折叠:set wrap 取消折叠:set nowrap

插件操作

(需要的插件乐意自行配置下载,主要修改.vimrc文件)
根据开头提到的参考文章配置的vim,常用操作如下:

快速打开文件

使用的插件: fuzzy find
ctrl + t, 就会弹出 >file> 这样的标志,然后输入:**/文件名 即可。 文件名是模糊查询。
我输入 ab, vim 也会把 aub 的结果列出来。

快速打开历史文件

使用的插件: MRU (most recently used files)
ctrl + e 即可。 (这个快捷键可以自己配)

跳到行首,行末

跳到当前行的末尾: shift + 4 (意为 $ , 这是正则表达式中 末尾的意思)
跳到当前行的行首: 0

快速跳到文件首行,尾行。

“跳到尾行” 这个功能很多时候很有用。例如, vim 进入到文件夹后,最新的文件(特别是以日期命名的文件)往往排在最下面。shift + g 然后按回车可以直接打开。
gg: 第一行
shift + g: 末行。

快速跳到 上一次 / 下一次编辑的地方:

跳到 上一次编辑的地方: g;
跳到 下一次编辑的地方: g,

返回上一次/下一次编辑的文件或位置

快速返回上一次编辑的文件: ctrl + o ( o 意为 outer )
快速返回下一次编辑的文件: ctrl + i ( i 意为 inner )

针对多个文件进行 查找和替换

使用插件: Greplace
Gsearch -F ‘要替换的字符串’ . -R –include=*rb
这里的 -F, -R –include=*rb 这些参数,跟grep中的一样。
在返回的结果中,把该替换的替换。
Greplace 然后选择 y/a/n 来决定是否替换。
最后, 输入 wa 保存所有文件的改动。

多重复制与粘贴

使用YRShow 插件。
在我的个人配置中, , + a 即可。原始命令: :YRShow 。 在弹出的“复制历史列表”中, 上下移动, 找到合适的后直接按回车即可。

注释多行

使用插件: nerd-commentor. 配置了自己的快捷键。
选中多行 (shift + v)
,cb (逗号 c b 三个键要快速按)
取消注释: 使用传统的替换即可。

为多行代码格式化

多行选中后, 按 = 即可。 (不是一定好用。 因为有的代码本身就是不完整的)

快速跳到当前光标所属文件(如果可能的话)

在 Rails的 路由或者 视图文件中,很好用。gf 即可。 (gf = go to file)
在 View 中, 快速跳到一个 partial.
在 config/routes.rb 中跳到controller

Rails插件

Rails插件允许我们快速的在各种文件中切换
跳转到 controller: ctrl + c
跳转到 model : ctrl + m
跳转到 view : 先移动到对应的action, 再 ctrl + v

  • Vim用法
    • vim安装
    • 配置文件
    • 简单介绍
    • 输入模式
      • 输入文本
      • 删除
      • 复制与粘贴
    • 常用操作
    • 插件操作
      • 快速打开文件
      • 快速打开历史文件
      • 跳到行首行末
      • 快速跳到文件首行尾行
      • 快速跳到 上一次 下一次编辑的地方
      • 返回上一次下一次编辑的文件或位置
      • 针对多个文件进行 查找和替换
      • 多重复制与粘贴
      • 注释多行
      • 为多行代码格式化
      • 快速跳到当前光标所属文件如果可能的话
      • Rails插件

0 0