1.工作模式

  命令模式

  

  编辑模式

  

  一般模式

  

  

  

  

  

  

2.配置文件

  :set nu  /  :set nonu    显示与取消行号

  :syntax on  /  :syntax off  是否依据语法显示相关的颜色帮助。在Vim中修改相关的配置文件或Shell脚本文件时,默认会显示相应的颜色,用来帮助排错。如果觉得颜色产生了干扰,则可以取消此设置

  :set hlsearch  /  :set nohlsearch  设置是否将查找的字符串高亮显示。默认是set hlsearch高亮显示

  :set ruler  /  :set noruler  设置是否显示右下角的状态栏。默认是set ruler显示 

  :set showmode  /  :set noshowmode  设置是否在左下角显示如“—INSERT--”之类的状态栏。默认是set showmode显示

  :set list  /  :set nolist  设置是否显示隐藏字符(Tab键用“^I”表示,回车符用“$”表示)。默认是nolist显示。如果使用set list显示隐藏字符,类似“cat –A 文件名”

  vim支持更多的设置参数,可以通过“:set all”进行查看

  这些设置参数都只是临时生效,一旦关闭文件再打开,又需要重新输入。如果想要永久生效,需要手工建立vim的配置文件“~/.vimrc”,把需要的参数写入配置文件就可永久生效

  indows下回车符在Linux中是用“^M$”符号显示,而不是“$”符。这样会导致Windows下编辑的程序脚本,无法在Linux中执行。这时可以通过命令“dos2unix”,把Windows格式转为Linux格式,当然反过来“unix2dos”命令就是把Linux格式转为Windows格式。这两个命令默认没有安装,需要手工安装才能使用。

3.小技巧

  导入其他文件内容

    :r 文件名    把文件内容导入光标位置

  在vim中执行系统命令

    :! 命令    在文件在执行系统命令

    这里只是在vim中执行系统命令,但并不把系统命令的结果写入到文件中。主要用于在文件编辑中,查看系统信息,如时间

  导入命令结果

    :r  ! 命令    在vim中执行系统命令,并把命令结果导入到光标所在行

  设定快捷键

    :map 快捷键 快捷键执行的命令      自定义快捷键

  vim允许自定义快捷键,常用的自定义快捷键如下:

    :map ^P I#<ESC>      按“ctrl+p”时,在行首加入注释

    :map ^B ^x            按“ctrl+b”时,删除行首第一个字母(删除注释)

    ^P快捷键不能手工输入,需要执行ctrl+V+P来定义,或ctrl+V ,然后ctrl+P。^B快捷键也是一样

  多文件打开

    在vim中可以同时打开两个文件,只要执行如下命令

    vim -o test cesshi    #小写o会上下分屏打开两个文件

    vim -O test cesshi    #大写O会左右分屏打开两个文件

    这样可以同时打开两个文件,方便操作。

    如果是“-o”上下打开两个文件,可以通过先按“ctrl+w”,再按“上下箭头”的方式在两个文件之间切换。

    如果是“-O”左右打开两个文件,可以通过先按“ctrl+w”,再按“左右箭头”的方式在两个文件之间切换

vim小结的更多相关文章

  1. Linux实用命令

    0. 基本命令 1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar.gz #把a.tar.gz解压成a 2. vim小结 2.1 ...

  2. Linux实用命令整理

    说明 点击标题可进入详细讲解的章节 0. 基本命令 linux 基本命令整理 1. 压缩 解压 tar -zcvf a.tar.gz a #把a压缩成a.tar.gz tar -zxvf a.tar. ...

  3. Mac下Vim编辑快捷键小结(移动光标)

    Mac下Vim编辑快捷键小结(移动光标) 1.移动到行尾"$",移动到行首"0"(数字),移动到行首第一个字符处"^" 2.移动到段首&qu ...

  4. vim与windows/linux之间的复制粘贴小结

    vim与windows/linux之间的复制粘贴小结 用 vim这么久了,始终也不知道怎么在vim中使用系统粘贴板,通常要在网上复制一段代码都是先gedit打开文件,中键粘贴后关闭,然后再用vim打开 ...

  5. vim中执行shell命令小结

    vim中执行shell命令,有以下几种形式 1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如:!ls -l ...

  6. (转)Vim用法小结

    这是我转的一些vim基本用法,可能对初用者会有帮助,独乐乐不如众乐乐,是吧! Vim一般的Unix和Linux下均有安装.  三种状态 Command: 任何输入都会作为编辑命令,而不会出现在屏幕上 ...

  7. vim的复制粘贴小结

    vim帮助文档里与粘贴板有关的内容如下: vim有12个粘贴板,分别是0.1.2.….9.a.“.+:用:reg命令可以查看各个粘贴板里的内容.在vim中简单用y只是复制到“(双引号)粘贴板里,同样用 ...

  8. vim的复制粘贴小结(转)

    原文地址:http://lsong17.spaces.live.com/blog/cns!556C21919D77FB59!603.entry 内容: 用vim这么久 了,始终也不知道怎么在vim中使 ...

  9. vim常用指令整理小结

    启动Vim后,默认是在 Normal 模式下,但是我们有时不知道是在编辑模式还是normal模式,按ESC键就可以返回normal模式.因为所有的命令都需要在Normal模式下使用,所以建议多按几下E ...

随机推荐

  1. PLSQL查询执行计划

    转: PLSQL查询执行计划 01(转) 2019-05-15 15:15:43 p享自由q 阅读数 365   一般优化途径: 如果能通过修改语句优化,比如查询条件或执行顺序,sql改不了,可以通过 ...

  2. [译]如何在红帽系统(RHEL)上源码安装python3?

    原文来源: https://stackoverflow.com/questions/8087184/installing-python-3-on-rhel 很容易手动安装. 1.下载对应的python ...

  3. k8s记录-kube-dns(core-dns)配置(七)

    docker search corednsdocker pull xxx 拉取镜像(根据实际情况选择)docker tag xxx coredns/coredns:latestdocker tag c ...

  4. Python3 queue队列类

    class queue.PriorityQueue(maxsize=0) 优先级队列构造函数. maxsize 是个整数,用于设置可以放入队列中的项目数的上限.当达到这个大小的时候,插入操作将阻塞至队 ...

  5. PAT 甲级 1077 Kuchiguse (20 分)(简单,找最大相同后缀)

    1077 Kuchiguse (20 分)   The Japanese language is notorious for its sentence ending particles. Person ...

  6. [LeetCode] 203. Remove Linked List Elements 移除链表元素

    Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --& ...

  7. Navicat工具链接 mysql"Access denied for user'root'@'IP'" 用户远程赋值

    如题 用Navicat远程连接数据库出现错误   给用户添加权限 连接MySQL mysql -uroot -p: use mysql; 更改权限 使用grant all privileges on来 ...

  8. 没有索引导致的DIRECT PATH READ

    5月20号下午4-5点,某项目组进行数据入库作业,作业人员反映入库速度很慢.在16:30和16:50分别采集了快照,并根据两个快照得到AWR报告. 直接看TOP 5 EVENTS,这是数据库问题诊断的 ...

  9. Influx Sql系列教程五:insert 添加数据

    接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势 在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有 ...

  10. Response的应用

    1.HttpServletResponse概述 service方法中的response的类型是ServletResponse,而doGet/doPost方法的response的类型是HttpServl ...