vim与程序员

 

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

但是目前我们使用比较多的是 vim 编辑器。

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

什么是 vim?

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

vi/vim 的使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令

移动光标

  1. w(e)  移动光标到下一个单词
    b    移动到光标上一个单词
  2.  
  3. 数字0  移动到本行开头
    $    移动光标到本行结尾
  4.  
  5. H    移动光标到屏幕首行
    M    移动到光标到屏幕的中间一行
    L    移动光标到屏幕的尾行
    gg    移动光标到文档的首行
    G    移动光标到文档尾行
  6.  
  7. ctrl + f  下一页
    ctrl + b  上一页
  8.  
  9. `.  移动光标到上一次的修改行

查找

  1. /chaoge 在整篇文档中搜索chaoge字符串,向下查找
  2. ?chaoge 在整篇文档中搜索chaoge字符串,向上查找
  3.  
  4. * 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
  5. # 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
  6.  
  7. gd 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上
  8.  
  9. %    找到括号的另一半!!

复制,删除,粘贴

  1. yy 拷贝光标所在行
  2. dd 删除光标所在行
  3. D 删除当前光标到行尾的内容
  4. dG 删除当前行到文档尾部的内容
  5. p 粘贴yy所复制的内容
    x   删除光标所在的字符
    u 撤销上一步的操作

数字与命令

  1. 3yy    拷贝光标所在的3
    5dd    删除光标所在5

输入模式

在命令模式下按下字母i

即可进入输入模式,可以编写代码啦。。。

底线命令模式

在命令模式下输入冒号(英文的:),就进入了底线命令模式,在底线命令模式下可以输入单个或多个字符的命令,常用命令有:

  1. :q! 强制退出
  2. :wq! 强制写入退出
    :set nu 显示行号
    :数字  调到数字那行
  3.  
  4. 随时按下esc可以退出底线命令模式

vim工作模式

vim按键

移动光标

  1. 移动光标的方法
  2. h 向左箭头键(←) 光标向左移动一个字符
  3. j 向下箭头键(↓) 光标向下移动一个字符
  4. k 向上箭头键(↑) 光标向上移动一个字符
  5. l 向右箭头键(→) 光标向右移动一个字符
  6.  
  7. 向下移动5行      5j
    向右移动10字符    10l
  8.  
  9. n(space)    按下数字n,例如10,然后按下空格,光标会向右移动10个字符

底线命令

  1. :! command 暂时离开vim指令模式,执行command的结果
  2. 例如 :!ip a 临时看一下ip信息,然后可以回到vim
  3.  
  4. :set nu    显示vim行号
    :set nonu    取消行号

更多nb的vim用法请看菜鸟教程:http://www.runoob.com/linux/linux-vim.html

vim与程序员 vi/vim 的使用的更多相关文章

  1. vim与程序员

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  2. 程序员的vim

    1,所有的Unix like系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在,但是目前我们使用比较多的是vim编辑器 vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序 ...

  3. 运维 06 vim与程序员

    vim与程序员   所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以 ...

  4. vim配置-程序员【转】

    Ubuntu11.10的vim升级后,版本为vi Improved 7.3.154功能很强大了.不过,程序员要根据自己的习惯配置好vimrc文件,是vim更加得心应手. 注:一般用户在自己的当前目录下 ...

  5. 作为程序员之 Vim(一)

    开始使用 Vim(一) vim被称为是编辑器之神,如果可以学好vim的话,就可以在键盘上 “健指如飞” 了,可以完全摆脱鼠标来进行文本的定位编辑. 当然,vim还可以进行各种配置,装上各种插件,做成 ...

  6. 7. VIM 系列 - 程序员利器(语法检测、代码块补全、symbol管理、函数跳转)

    目录 1. 语法检查利器 ale 2. 补全代码块 3. symbol 管理器 taglist.vim 4. 函数跳转 1. 语法检查利器 ale 安装 ale Plug 'w0rp/ale' 配置 ...

  7. Linux vi/vim(转载)

    Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主 ...

  8. Linux vi/vim

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  9. Linux vi/vim编辑器

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

随机推荐

  1. Intent的作用和表现形式简单介绍

    Intent的作用和表现形式简单介绍 1.描写叙述:Intent负责相应用中一次操作的动作,动作涉及的数据,附加数据进行描写叙述.系统或者应用依据此Intent的描写叙述,负责找到相应的组件,将Int ...

  2. 基于mindwave脑电波进行疲劳检测算法的设计(4)

    上一次的实验做到可以从pc端读取到MindWave传输过来的脑电波原始数据了. 我是先定义一个结构体,该结构体对应保存所有能从硬件中取到的原始数据. struct FD_DATA { int batt ...

  3. 完美解决"Encountered an NTFS Volume with a logfile ..."

    完美解决Ghost镜像文件时出现"Encountered an NTFS Volume with a logfile that has not been flushed(536)" ...

  4. hdoj:2032

    #include <iostream> #include <string> using namespace std; int main() { int n; ][]; ; i ...

  5. 【Oracle】ORA 01810 格式代码出现两次-转

    一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') fr ...

  6. MySQL5.7.19 服务挂掉 自动关闭 mysqld got exception 0xc000001d win 2008R2

    在mysql 官网看到mysqld got exception 0xc000001dThis error message occurs because you are also using a CPU ...

  7. Guava学习笔记(三):集合

    添加Maven依赖 ListsTest import com.google.common.collect.Lists; import org.hamcrest.core.Is; import org. ...

  8. 【NPM】设置代理

    https://yutuo.net/archives/c161bd450b2eaf88.html npm config set proxy http://server:port npm config ...

  9. laravel 在linux环境下解决.htaccess无效和去除index.php

    LoadModule rewrite_module modules/mod_rewrite.so (去掉前面的#注释) AllowOverride All (根目录的配置下,确保设置成All) < ...

  10. [Full-stack] 网页布局艺术 - Less

    故事背景 一个过程: template/html ----> css ----> less ----> bootstrap/flex ----> Semantic-ui fle ...