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切换

      

  • 相关阅读:
    ViewPager+导航条实现方式比较---------来自互联网
    ScrollView重写实现监听
    android:layout_gravity和android:gravity
    解决Android Studio添加依赖时出现“Manifest merger failed
    Android SD卡读取简单操作
    Android文件读取简单操作
    20160623
    Mac 下两款 Markdown 编辑器 Mou/MacDown 大 PK
    iOS开发编码建议与编程经验(书写规范)
    iOS开发调试技巧总结
  • 原文地址:https://www.cnblogs.com/bugY/p/2140516.html
Copyright © 2011-2022 走看看