zoukankan      html  css  js  c++  java
  • Vim学习笔记

    ------------------------------------------------------------
    Vim有三种模式:命令模式、编辑模式、插入模式
    配置文件为.vimrc

    三种模式的转换为:
    1、命令模式下按“:”进入编辑模式,“ESC”返回命令模式
    2、命令模式下按“a、A、i、I、o、O”字母中一个,进入插入模式,“ESC”返回命令模式(a在当前光标后插入、A在当前行尾插入、i在当前光标前插入、I在当前行首插入、o在当前行后插入新行、O在当前行前插入新行)
    在使用中应经常停留在命令模式下,而不要过多地停留于插入模式下
    ------------------------------------------------------------


    ------------------------------------------------------------
    《Vim部分设置命令》
    ------------------------------------------------------------
    :set go=   将gvim界面中的菜单栏及工具栏去掉(go:gui option)
    :set cursorline  高亮显示当前行
    :color evening  设置颜色方案(输入color后Tab键,可以自动补全支持的各种颜色方案,在可以选择的地方Tab常有可选择的功能)
    :set hlsearch  高亮显示被查找到文本
    :set is    在输入同时开始搜索
    :set nois   关闭is设置
    :set ch=2   设置命令行占两行高
    :set lbr   禁止在单词中分行
    :set mousehide  输入文本时隐藏鼠标
    :set autoindent  自动缩进
    :set sw=4   自动缩进宽度
    :set tabstop=4  制表符宽度
    :set backspace=indent,eol,start 在退格时允许删除非本次插入文本,并行,自动缩进
    :set guifont=新宋体:h15:cGB2312 设定显示字体与字号
    :set nowrap  指定不折行
    :set guioptions+=b 添加水平滚动条
    :set number   显示行号
    :set nonumber  取消行号
    :set cindent  C语言风格缩进
    :syntax on   语法关键字着色
    :set sm    显示括号配对情况
    :set ruler   添加标尺,显示当前编辑位置
    :set ignorecase  忽略大小写(Ignore cast)
    :set noignorecase 取消忽略大小写
    :ab Text1 Text2  输入Text1后回车或空格时使用Text2替换Text1
    :set mousemodel=popup 右击鼠标,弹出快捷菜单
    :unab Text1   取消ab命令设定
    :map  CommandLine 定义快捷键(为ctrl+v,ctrl+p) 在行首添加#符号:map  I#<ESC>
    :unmap    取消快捷键
    :setf c    指定文件类型
    autocmd GUIEnter * simalt ~x 启动最大化窗口
    ------------------------------------------------------------

    ------------------------------------------------------------
    《Vim操作命令》
    ------------------------------------------------------------
    :e FileName   打开文件名指定的文件(可以使用Tab键)
    :o FileName   打开文件
    :sp FileName  纵向划分新窗格显示新文件
    :vsp FileName  横向划分新窗格显示新文件
    :w      保存文件
    :w FileName   Save as...
    :q     退出(可与w组合使用,加!则为强制)
    :!CommandLine  执行命令
    :r FileName  导入新的文件或命令执行结果
    定位键:h左、j下、k上、l右、M顶行、H中间行、L底行、gg首行、G尾行、$当前行尾字符、0行首、^当前行首字符、w下一单词、b单词首字母、e单词末字母
    ctrl+w+hjkl 分别定位到左、下、上、右窗口
    :n 定位至第n行,也可这样:nG;
    在Vim操作中,应学会利用数字来达到快速操作的目的
    x 删除/剪切光标处字符
    nx 删除/剪切光标处n个字符
    dd 删除/剪切当前行
    ndd 删除/剪切当前连续n行
    d$ 删除/剪切当前光标至行尾
    d^ 删除/剪切当前光标至行首
    :n1,n2d 删除/剪切n1至n2行
    dG 删除/剪切当前光标位置至文件末
    yy(Y) 复制当前行
    nyy(nY) 复制n行
    p 粘贴到下一行
    P 粘贴到前一行
    u 取消上一步
    . 重复上一步
    /Text 向前搜索
    n(N) 下(上)一个搜索匹配项
    r 替换当前光标处字符
    R 从当前光标处开始替换,直到ESC
    c 修改区域文本
    cw 修改一个单词
    v 行选取模式
    ctrl+v 块选取模式
    qa 录制名为a的宏
    q 结束宏录制
    @a 执行宏a
    n@a n次执行宏a
    ctrl+p(Ctrl+n) 自动完成录入
    ctrl+x+l   自动完成整行
    ctrl+x+f   自动完成文件名
    :tabnew FileName 用新标签打开新文件
    ctrl+f page down
    ctrl+b page up
    :X     为文件加密
    =  按C语言格式整理格式
    %  在匹配符号间跳转(如:括号)
    J  将当前行与下一行合并
    :%!xxd 进入二进制编辑
    :%!xxd -r  结束二进制编辑
    :s  查找并替换
    s  替换光标处字符
    S  替换光标所在行
    :g  查找符合正则表达式的行
    :!g  查找不符合正则表达式的行
    ------------------------------------------------------------

    ------------------------------------------------------------
    《Vim操作技巧》
    ------------------------------------------------------------
    :%s/text/ &/gc  在text部分前面添加回车%s表示替换范围为全文,&表示被替换部分,g多次替换,c每次替换需用户确认
    n1,n2s/^////g  在n1至n2行首添加双斜线注释符
    n1,n2s/^////g  将n1至n2行首注释双斜线删除
    >>(shift+>两次) 不进入插入模式就整行跳格(<<相反)
    20i-[ESC]   插入20个连字符
    ------------------------------------------------------------
    不同的环境分别设置
    if(has("gui_running"))
    "add here for gvim
    else
    "add here for vim
    endif
    ------------------------------------------------------------

    ------------------------------------------------------------
    《Vim正则表达式符号》
    ------------------------------------------------------------
    正则表达式由普通字符及元字符组成,元字符代表一定的特殊含义。常见元字符如下:. 匹配单个字符
    $ 匹配行结束符
    ^ 匹配行开始符
     引用符,其后字符为其本义;与C中转义

     

     字符相似
    [] 匹配括号中的任何一个字符
    [c1-c2] 匹配括号中的字符区间,可以同时设定多个区间;[A-Za-z]
    [^] 取[]的补集
    < 匹配单词开始
    > 匹配单词结束
    | 匹配条件逻辑或运算
    * 匹配0或多个正好在它之前的那个字符
    + 匹配一个或多个正好在它之前的那个字符;9+匹配9 99 999
    ? 匹配0个或多个正好在它之前的那个字符
    {i} 匹配i数目的字符
    {i,j} 匹配i或j数目的字符
    ------------------------------------------------------------

    VIM 实现tab标签页及分屏,切换命令

    如果使用xshell,那么 alt + 数字 可以切换的是xshell顶部的大的标签页,这个也很方便。
     

    1,在一个窗口中,VIM 的小tab标签页命令:

      :tabnew [++opt选项] [+cmd] 文件            建立对指定文件新的tab

      :tabc       关闭当前的tab
      :tabo       关闭所有其他的tab
      :tabs       查看所有打开的tab
      :tabp      前一个
      :tabn      后一个

    一般使用标准模式下的 Ngt 来进行切换,这个很方便。另外,如果需要在当前的tab页中也可以打开多个文件,文件之间用 ctrl + 6 来切换。如果习惯了前一种方法,后面这种基本上是用不到了。
     
    2,分屏
    :vsplit 这个命令太长,没人用的。大家都用 :vsp ,:sp filename来分屏。
    分屏的相关动作都是ctrl+w 开始的,然后再跟一个其他字母
    ctrl+w = :让左右上下各个分屏宽度,高度均等。
    ctrl+w _(shift + -) :当前屏幕高度扩展到最大
    ctrl+w |(shift + ) :当前屏幕宽度扩展到最大
    ctrl+w c:关闭当前屏幕
    有了以上3个基本够了。
     
     
    可视化模式

    在可视化模式下,可以对一个文本块的整体进行操作。例如,首先高亮选中一部分文本,然后用d命令删除这个文本块。可视化模式的好处在于,你可以在做改动之前,就看到操作将影响的文本。可视化模式可以分为以下三种:

    1. 用v命令进入的字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。
    1. 用V命令进入的行可视化模式(Linewise visual mode)。文本选择是以行为单位的。
    1. 用ctrl-V进入的块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。(注意:在Windows中,ctrl-V可能已经被影射为粘贴操作,可以使用ctrl-Q进入块可视化模式。)

    切换可视化模式

    通过输入相应的可视化命令,就可以切换到不同的可视化模式。

    例如现在字符可视化模式下,如果想要切换到块可视化模式,那么只需要输入ctrl-V即可。

    当然,我们也可以先用ESC关闭当前的可视化模式,然后再进入其它可视化模式。

    在可视化模式下选择(使用h、j、k、l移动光标)

    使用命令v进入字符可视化模式。在此模式下,用命令移动光标,光标起始位置和当前位置之间的文本将会以高亮显示。

    这时就可以对这些高亮显示的文本进行整体的操作。例如:在字符可视化模式中,首先用6l命令选中光标右侧的6个字符,然后输入d命令删除高亮显示的文本。

    使用命令V进入行可视化模式。在此模式下,我们使用2j命令,就可以选中当前行及其随后2行。

    使用命令ctrl-Q进入块可视化模式。在此模式下,我们使用2l命令向右移动,然后使用3j命令向下移动,就可以选中4行2列的文本块。

    命令gv可以重复前一次可视化模式时选中的文本。如果已经在可视化模式下,执行该命令会选中前一次选择的文本。如果重复行执gv命令,就会在当前选中的文本和前一次选中的文本之间进行切换。

    当我们想要退出可视化模式时,可以按ESC键或ctrl+c键。

    VIM可视化模式命令小结

    v	进入字符可视化模式
    V	进入行可视化模式
    ctrl-V	进入块可视化模式
    ctrl-Q
    gv	选中前一次可视化模式时选择的文本
    o	光标移动到选中文本的另一结尾
    O	光标移动到选中文本的另一角落
  • 相关阅读:
    高德地图(智能硬件)定位
    sql语句之条件,分页,排序
    MySQL语句基本操作增删改查
    语句基本操作,创建表,外键
    mysql权限操作
    Mysql数据库
    GIL
    计算密集型任务
    线程进程
    server端并发聊天
  • 原文地址:https://www.cnblogs.com/lisuyun/p/4306781.html
Copyright © 2011-2022 走看看