• 【转】Vim常用技巧汇总


    【转】Vim常用技巧汇总

    Vim分为三种模式

    • 命令模式(command)——Vim进入就是

    • 输入模式(insert)——按

      i
      

      切换,

      esc
      

      退出,切换到命令模式

      • i是在游标前输入,a是在游标后输入,o是新建下一行输入
      • I为在目前所在行的第一个非空格符处开始输入
    • 底线命令模式(last line)——:切换,回车执行

    游标移动

    • 上下左右键可以控制游标移动,另外前面加具体数字可跨步移动,如30↓一次向下30行
    • ctrl + f向下移动一页
    • ctrl + b向上移动一页
    • ctrl + d向下移动半页
    • ctrl + u向上移动半页
    • G移动到文本最后一行
    • gg移动到文本第一行
    • w移动到下一个单词
    • W 移动下一个单词开头,但忽略一些标点
    • b移动到上一个单词
    • B移动到上一个单词开头,忽略一些标点
    • e移动到游标所在单词的词尾或下一个单词的词尾

    搜索

    • 使用 /word 配合 n向下搜索 及 N向上搜索
    • :1,$s/word1/word2/gc:%s/word1/word2/gc从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 ,且在取代前显示提示字符给用户确认
    • :#,#s/old/new/g 其中 #,# 代表的是替换操作的若干行中首尾两行的行号,最后不加c替换不进行提示

    排版

    • :ce(nter) 本行文字居中
    • :le(ft) 本行文字靠左对齐
    • :ri(ght) 本行文字靠右

    删改或注释

    在命令模式:

    • x 删除光标后的一个字符

    • X 删除光标前的一个字符

    • :1,10d删除第1到弟10行

    • nx 连续向后删除 n 个字符,n 为数字,如10x

    • dw 从当前位置删除到下一个单词开头(包括中间空格)

    • db 从当前位置删除到前一个单词的开头 (如果光标在单词上,则删除到该单词的开头)

    • diw 删除光标所在的单词 (不包括单词前后的空格)

    • daw 删除光标所在的单词 (包括单词前后的空格)

    • dd删除游标所在的那一整行

    • d$删除游标所在处,到该行的最后一个字符

    • d0删除游标所在处,到该行的最前面一个字符

    • dG 删除到文件末

    • dgg 删除到文件首

    • yy复制游标所在的那一行

    • y$复制光标所在的那个字符到该行行尾的所有数据

    • y0复制光标所在的那个字符到该行行首的所有数据

    • v
      

      或者

      ctrl + v
      

      进入可视模式选中删除和复制也很方便

      • v字符选择,会将光标经过的地方反白选择
      • V行选择,会将光标经过的行反白选择
      • ctrl + v块选择,可以用长方形的方式选择资料
    • p粘贴到光标下一行,P粘贴到光标上一行

    • u撤销上一个动作(undo),在撤销之后用ctrl + r复原(redo)

    • .小数点符号可以重复上一次的动作

    • >缩进4个空格,<反向缩进

    批量注释

    ctrl + v 进入块选择模式,选中你要注释的行,再按大写的I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 esc,Vim 会自动将你选中的所有行首都加上注释

    多行编辑

    ctrl + v 进入块选择模式,通过ij键进行多行选择,j键上下移动光标,l键左右移动光标,也可以使用方向键

    Vimdiff

    vimdiff -d a.txt b.txt比较两个文件,比diff更强大

    多文件编辑

    需要复制一个文件中的某段到另外一个文件中,而vim不能够在关闭的时候,把这段保留住。

    • vim file1 file2
    • 然后:sp file2就可以同事看到两个窗口对应两个文件
    • ctrl+w+jctrl+w+k在两个窗口切换
    • 或者先按下ctrl + w 然后松开,再按箭头上下方向键↓↑切换

    配置

    • :set nu显示行号,:set nonu取消行号
    • :set all 显示目前所有的环境参数设定值
    • :set autoindent 自动缩排
    • :set noautoindent 取消自动缩排
    • :set ruler 可显示最后一行的状态
    • :set showmode 左下角那一行的状态
    • :syntax on 进行语法检验,颜色显示
    • :syntax off 关闭语法检验
    • 如果我们以Vim软件来查找一个文件内部的某个字符串时,这个字符串会被反白, 而下次我们再次以Vim编辑这个文件时,该查找的字符串反白情况还是存在。另外,当我们重复编辑同一个文件时,当第二次进入该文件时, 光标竟然就在上次离开的那一行的开头。这个功能可能是方便,但也有不方便的时候。怎么会这样呢?这是因为我们的Vim会主动的将你曾经做过的行为登录下来,那个记录动作的文件就是~/.viminfo,不想用这个功能,就直接删除~/.viminfo。只要你曾经使用过Vim,那么你的家目录就会有这个文件。这个文件是自动产生的,你在Vim里头所做过的动作,就可以在这个文件内部找到。

    vim打开后中文乱码
    vim ~/.vimrc,加上fileencodings、enc、fencs,代码如下

    set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
    set enc=utf8
    set fencs=utf8,gbk,gb2312,gb18030
    123
    

    vim快捷键

    转自CSDN,原文:Vim常用技巧汇总

  • 相关阅读:
    winform解析json API数据
    c#(winform)获取本地打印机
    winform程序post提交数据API
    C#关于panle重叠
    net面试总结的题目
    委托
    最实用JS 留着学习
    dev 控件获得所有的EFDEVGRID
    c#利用WebClient和WebRequest获取网页源代码的比较
    浅谈.Net WebService开发
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/16357263.html
Copyright © 2020-2023  润新知