以下均为个人在编程时对vim编辑器的一些心得,大神请指点,新手可以看过来

1、多文本编辑

  vim -On/-on filename_1 … filename_n

  如上所示,在要编辑的文件名前加上“-On/-on”,其中‘O’表示左右分屏,‘o’表示上下分屏,‘n’则表示文件的个数,‘filename_1~n’ 表示这n个文件的文件名。其中文本切换使用如下命令

  Ctrl + w + w

  在命令行打开文件使用

  :vsp filename

2、文本设置

  刚开始使用vi/vim编辑器时,不知道怎么配置vim,你可以使用如下配置:

  :set nu          # 设置行号,取消使用 set nonu

  :set ai           # 设置自动换行对齐

  :set tabstop=4    # 设置tab大小为4(64位系统默认为8)

  :set mouse=a     #可以使用鼠标定位,翻阅文件(需要复制内容,建议暂时取消鼠标功能 :set mouse-=a)

  (这样设置是一次性的,重新打开文本需要再次设置,建议配置/root 下vimrc文件)

3、文本多行注释

  Ctrl + v  →  ↑↓(上下移动选中你要注释的行数)  →  I(输入大写,然后填写注释,如 ‘#’,‘//’ 等)  → 按 两次ESC (成功)

  上面操作也可命令行实现,如下:

  :%s/^/#/g    (表示所有内容注释)

  :n1,n2s/^/#/g (表示从n1行到n2行注释)

  取消注释: Ctrl + v  →  d

4、删除内容

  dd        # 当前位置删除单行

  ndd/dnd     # 当前位置删除n行

  di +“ ([{"' ”    # 删除‘()’ ‘[]’ ‘{}’ ‘""’ “''”中的内容

  dt + “任意字符”     # 删除当前位置到任意字符前的内容

  x         # 命令模式下,使用x删除当前光标的字符,也可以使用nx删除包括光标及之后共n个字符

  s         # 替换内容,或者使用ns(原理同x)

5、标记

  gd  →  n      # gd为选中当前单词,n下一次出现的地方

  Shift + */#    # ‘*’为跳转到当前位置单词出现的下一个地方,‘#’为上一个地方

6、其它常用的命令

  y      # 复制(nyy/yny),和删除同理

  Ctrl + y/e   # 单个复制上/下 一行对应的字符

  w      # 光标移动到下一个单词的首位 (以下可以在操作之前加上n,表示移动n个位置)

  e      # 光标移动到下一个单词的首位

  k      # 上移

  j      # 下移

  h      # 左移

  l      # 右移

7、就当是娱乐

  在命令行输入如下命令:

  :%!xxd    # 将文件转换为十六进制文件,取消命令为 :%!xxd -r

  :TOhtml    # 生成 *.html 文件

8、ctags的使用

  这个是最值得一说的,ctags操作简单,也很灵活,可以大大提高开发效率。

  这里介绍yum源安装,源码可以自行百度,很简单的。

    yum -y install ctags

  安装完成,可以在源码目录下使用如下操作:

  ctags -R     # 递归检索当前目录及子目录下文件(一般使用此操作)

  ctags filename*  # 对指定文件进行检索

  命令执行完,会在当前目录下产生tags文件,说明成功了

  然后你就可以使用如下操作,在代码里各种飞了!!!!!!

  Ctrl + ]

  Ctrl + t/o

  :ts + 函数名

相信新手操作过一遍,会更容易上手vim编程,,,写得有点仓促,事例图片后期补上...

Linux下vim操作的一些使用技巧的更多相关文章

  1. Linux下Vim常用操作

    linux下Vim的常用操作 linux ​ 首先\(ctrl+Alt+t\)打开小框框 ​ \(./\):相当于手机上的\(home\)键 ​ \(ls\):当前文件夹的东东 ​ \(mkdir\) ...

  2. 20145234黄斐《信息安全系统设计基础》第八周(Linux下vim相关命令)

    Linux下vim相关命令 在编辑程序时经常使用vim,所以记住一些常用的指令还是很有必要的 文件命令 vim file 打开单个文件vim file vim file1 file2 file3 .. ...

  3. Linux下vim文件未正常退出,修复文件

    Linux下vim文件未正常退出,会产生一个 .文件名.swp的文件 ls -al  ,rm   删掉.swp文件 之后就可以正常使用文件了

  4. linux 下vim文件乱码 cat文件正常处理方法

    linux 下vim文件乱码 cat文件正常处理方法 服务器支持中文字符集,cat和其他查看文件命令现在正常,vim还是出现了中文乱码问题, 1.查看文件编码格式 vim 文件 :set fileen ...

  5. 【Linux学习四】Linux下Vim命令操作

    1.Vim介绍 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性. 第一阶段通过vimtutor的学习,加强vim的熟练度 1.1光标移动 hjkl左 ...

  6. Linux下Vim工具常用命令

    原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html 在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚 ...

  7. linux下vim编辑器使用

    VIM - Vi IMproved: vim是vi编辑器的升级版,是linux下标准的编辑器,具有程序编写能力,可以根据字体颜色辨别语法的正确性,方便程序的设计. 使用: # vim [OPTION] ...

  8. linux 下svn操作

    * 前言: linux下的svn相比于gitlab,配置要求第一点:gitlab需要4G的内存,如果使用swap+内存的替代方案,理论上是可行的,但是实际操作中各种坑:     所以,由于条件限制,使 ...

  9. Nginx入门篇-基础知识与linux下安装操作

    我们要深刻理解学习NG的原理与安装方法,要切合实际结合业务需求,应用场景进行灵活使用. 一.Nginx知识简述Nginx是一个高性能的HTTP服务器和反向代理服务器,也是一个 IMAP/POP3/SM ...

随机推荐

  1. HIbernate基于外键的查询

    此文以个人开发记录为目的,笔拙勿喷 项目是背景是公司的E签宝平台VIP频道项目进行关联账户增加后,需要做删除时的,联合查询 当前主要表结构账户表Account. CREATE TABLE `accou ...

  2. BZOJ4503: 两个串(bitset字符串匹配)

    题意 题目链接 Sol Orz xudyh F个毛T啊..直接bitset一波就赢了啊...(虽然复杂度很假) 就是记录匹配串中每个元素出现的位置,将第\(i\)个位置的bitset右移\(i\)位后 ...

  3. Cookie存储大小、个数限制

    一.浏览器允许每个域名所包含的cookie数: Microsoft指出InternetExplorer8增加cookie限制为每个域名50个,但IE7似乎也允许每个域名50个cookie. Firef ...

  4. 【干货】Html与CSS入门学习笔记9-11

    九.盒模型 与元素亲密接触 1.盒模型 css将每个元素都看做一个盒子,包括以下属性: 内容区content area:包含内容,内容可以决定大小,也可以自行设定宽度和高度.元素的width属性指定的 ...

  5. 解决Pandoc wasn't found.pdflatex not found on PATH

    解决nbconvert failed: Pandoc wasn't found.解决nbconvert failed: pdflatex not found on PATH 问题1描述 500 : I ...

  6. 栅格那点儿事(四A)---栅格的显示与渲染

    栅格的显示与渲染 通过前两章的学习,应该对栅格这个东西不那么陌生了.在这一个部分,我们来看看如何展示出栅格数据最美丽的地方,在ArcGIS中栅格的显示与渲染.在进入细节之前,先来看看在ArcGIS中都 ...

  7. Java Knowledge series 5

    Interface from user, not from implementor.(DIP) Interface-Oriented Programming. Interface or Abstrac ...

  8. Java Knowledge series 3

    JVM & Bytecode Abstract & Object Object in Java (1) 所有东西都是对象object.可将对象想象成一种新型变量:它保存着数据,但可要求 ...

  9. springboot文件上传: 单个文件上传 和 多个文件上传

    单个文件上传 //文件上传统一处理 @RequestMapping(value = "/upload",method=RequestMethod.POST) @ResponseBo ...

  10. 原生Js在各大浏览器上、火狐、ie、谷歌、360等出现的不兼容问题。

    1 document.getElementsByName("name")  在Ie低版本,360普通版本,以及火狐低版本不支持. 2 element.innerText 在低版本的 ...