zoukankan      html  css  js  c++  java
  • Linux VI编辑器命令集合

    搜索取消高亮::nohl

    1、光标定位快捷键:
    H -> 光标定位到屏幕上方 
    M -> 光标定位到屏幕中间 
    L -> 光表定位到屏幕下方 
    b -> 光标向前移动上一个单词词头 
    B -> 光标向前移动一个big-word的单词词头 
    e -> 光标向后移动下一个单词的词尾 
    E -> 光标向后移动下一个big-word的单词词尾 
    w -> 光标向后移动到下一个单词的词头 
    W -> 光标向后移动到下一个big-word的单词词头 
    u -> undo 取消操作 
    Ctrl+r -> redo 恢复操作 
    r -> 在命令模式中,覆盖当前字符 
    R -> 进入编辑模式,覆盖当前字符,也就是替换模式 
    Ctrl+t -> 在编辑模式,向右缩进一格 
    Ctrl+d -> 在编辑模式,向左缩进一格
    2、当前行定位快捷键:
    zt -> 把当前行放到屏幕的最上方 
    zb -> 把当前行放到屏幕的最下方 
    zz -> 把当前行放到屏幕的中间

    如何到本档案的最后一行、第一行;本行的第一个字符、最后一个字符?   
    G,   1G,   0,   $ 
    如何删除一行、n行;如何删除一个字符?   
    dd,   ndd,   x   或   X   (dG   及   d1G   分别表示删除到页首及页尾) 
    如何复制一行、n行并加以贴上?   
    yy,   nyy,   p   或   P 
    如何搜寻   string   这个字符串?   
    ?string   (往前搜寻)   
    /string   (往后搜寻)   
    如何取代   word1   成为   word2,而若需要使用者确认机制,又该如何?   
    :1,$s/word1/word2/g   或   
    :1,$s/word1/word2/gc   (需要使用者确认)   
    如何读取一个档案   filename   进来目前这个档案?   
    :r   filename 
    如何另存新档成为   newfilename?   
    :w   newfilename 
    如何存盘、离开、存盘后离开、强制存盘后离开?   
    :w;   :q:   :wq;   :wq! 
    如何设定与取消行号?   
    :set   nu   
    :set   nonu 

    如何设置回车后自动缩进?

    :set ai

    如何设置tab的字符个数?

    :set tabstop=4

    <!--EndFragment-->

    1. h 左,j 下, k 上, l 右
    2. x 删除当前光标后的一个字符
    3. i 在当前光标插入
    4. u 撤销一次操作
    5. ctrl + r 重复上一次操作
    6. w 向右移动一个词首
    7. b 向左移动一个词首
    8. e 向左移动到一个词末
    9. ge 左右移动到一个词末
    10. W 向右移动到句首
    11. B 向左移动到句首
    12. E 向右移动到句末
    13. gE 向左移动到句末
    14. ^ 行首
    15. $ 行尾
    16. f + 字母,当前行,当前光标向左定位到指定字母处(常用操作)
    17. F + 字母,当前行,当前光标向右定位到指定字母处
    18. % 匹配括号
    19. 数字 + gg,定位到数字行
    20. 数字 + %,定位到占全文百分之数字的行
    21. ctrl + f,向下翻页
    22. ctrl + b,向上翻页
    23. /字符串,以当前光标为基准,向下全文查找字符串,支持正则表达式
    24. ?字符串,以当前光标为基准,向上全文查找字符串,支持正则表达式
    25. c,修改,即删除文本后,进入插入模式
    26. v,进入可视模式
    27. y,拷贝内容
    28. split/vsplit 将一个文件切成两个的窗口,合理利用屏幕资源(默认是横着分,vsplit是垂直分)
    29. ctrl + w 在多个窗口间切换
    30. :qall 退出所有窗口
    31. 比较两个文件的差异,vimdiff
    32. do 获取右边与左边不一样的(diff obtain)
    33. dp 将左边的放到右边(diff put)
    34. :s/target/replace/g 替换当前行的target字符串到replace,/g指的是同一行内多次匹配
    35. :1,5s/target/replace/g 替换第一行到第五行中的target字符串到replace
    36. :%s/target/replace/g 替换整个文件中的target字符串到replace,/g表示整
    37. :s/ \([^,]*\) , \(.*\) /\2 \1/g 反向引用,将第一个和第二个正则子表达式匹配的值置换下位子
    38. g ctrl + g 显示字符数,字数,行和列
    39. 快速选中技巧: v + f 或 v + / 组合
    40. gu / gU 小写/大写
    41. :read 读一个文件到当前光标下 简写 :r
    42. :write 写入另一个文件中 简写 :w
    43. q: 指令历史记录
    44. :[range]! xx 执行shell指令,比如 1,5!cat -n则,使1到5行加上行号
    45. :tabedit 在同一个vim进程里,新建一个tab,共享寄存器和内存
    46. gt 在tab间切换
    47. \c 当在前指令里忽略大小写,比如查找word的指令 /\cword ,那么 word,Word,WORD都将匹配
    48. :iabbrev 定义快捷字符串模板,比如 :iabbrev ad adverisement 那么在你进行编辑文本时,输入ad+空格,就会自动补全ad这个单词。如果要每次都是用,最好加到 vimrc 里.
    49. 使用 * 键可以向后搜索光标所在位置的单词。反之,使用 # 键可以向前搜索光标所在位置的单词。
    50. 使用 ga 可以看到光标下的字符的ASCII值。
    51. 用 xp 来交换两个字符,用 ddp 来交换两行。
    52. 使用如下命令给正在编辑的文件添加行号: :%!cat -n

    插件:

    NERD_tree  ctags   Tlist  Winmanager

    http://vim.wikia.com/wiki/Use_Vim_like_an_IDE

    NERDTree快捷键:

    o 打开关闭文件或者目录
    t 在标签页中打开
    T 在后台标签页中打开
    ! 执行此文件
    p 到上层目录
    P 到根目录
    K 到第一个节点
    J 到最后一个节点
    u 打开上层目录
    m 显示文件系统菜单(添加、删除、移动操作)
    ? 帮助
    q 关闭

    gt tab之间的切换下一个
    gT tab之间的切换上一个
    ngt 第n个tab切换

      

  • 相关阅读:
    Sql Server 2008卸载后再次安装一直报错
    listbox 报错 Cannot have multiple items selected when the SelectionMode is Single.
    Sql Server 2008修改Sa密码
    学习正则表达式
    Sql Server 查询第30条数据到第40条记录数
    Sql Server 复制表
    Sql 常见面试题
    Sql Server 简单查询 异步服务器更新语句
    jQuery stop()用法以及案例展示
    CSS3打造不断旋转的CD封面
  • 原文地址:https://www.cnblogs.com/bugY/p/2140516.html
Copyright © 2011-2022 走看看