• 【Linux】Vim的使用快捷方式


    VIM工具使用各种快捷方式,熟练掌握能够做到事半功倍的效果

    复制粘贴

    1. 复制:
    • yy:复制当前行。
    • nyy:复制当前行及其下面的n行(n为数字)。
    • yiw:复制当前光标所在的单词。
    • y$:复制光标所在位置到行尾的文本。
    • y^:复制光标所在位置到行首的文本。
    • yG:复制当前行到文件末尾的所有内容。
    • v进入可视模式,移动光标选择要复制的文本,然后按下y键。
    1. 粘贴:
    • p:将复制的内容粘贴到当前行的下方。
    • P:将复制的内容粘贴到当前行的上方。
    • :put:将复制的内容粘贴到光标所在行的下方。
    • :put!:将复制的内容粘贴到光标所在行的上方。
    • "+p:将系统剪贴板中的内容粘贴到当前行的下方(仅适用于支持系统剪贴板的Vim版本)。
    • "+P:将系统剪贴板中的内容粘贴到当前行的上方(仅适用于支持系统剪贴板的Vim版本)。

    搜索和替换:

    • /pattern:在文件中搜索匹配pattern的文本。
    • :s/old/new/g:将当前行中所有匹配old的文本替换为new
    • :%s/old/new/g:将文件中所有匹配old的文本替换为new
    • :s/old/new/gc:将当前行中所有匹配old的文本替换为new,并提示用户确认每次替换。
    • :%s/old/new/gc:将文件中所有匹配old的文本替换为new,并提示用户确认每次替换。

    缩进和格式化:

    • >>:将当前行向右缩进一个shiftwidth(默认为8个空格)。
    • <<:将当前行向左缩进一个shiftwidth
    • ={motion}:将motion所选的文本块自动缩进。
    • gg=G:将整个文件自动缩进。

    分屏和标签页:

    • :split:将当前窗口分成两个上下排列的窗口。
    • :vsplit:将当前窗口分成两个左右排列的窗口。
    • :tabnew:打开一个新的标签页。
    • gt:在标签页之间切换。

    文件操作:

    • :w:保存当前文件。
    • :wq:保存当前文件并退出Vim。
    • :q!:放弃所有修改并退出Vim。
    • :e filename:打开一个新文件。

    代码折叠:

    • zf{motion}:根据motion所选的文本块创建一个折叠。
    • zo:打开当前折叠。
    • zc:关闭当前折叠。
    • zr:打开所有折叠。
    • zm:关闭所有折叠。

    括号匹配:

    • %:在括号之间跳转。
    • :set showmatch:显示括号匹配。

    代码补全:

    • Ctrl + n:在当前文件中补全单词。
    • Ctrl + x, Ctrl + o:在当前文件和已打开的文件中补全单词。

    多窗口操作:

    • Ctrl + w + h/j/k/l:在窗口之间切换。
    • :sp filename:在新窗口中打开一个文件。
    • Ctrl + w + _:将当前窗口最大化。
    • Ctrl + w + =:将所有窗口平均分配大小。

    宏录制:

    • q{register}:开始录制宏,并将其存储到指定的寄存器中。
    • q:停止录制宏。
    • @{register}:执行指定寄存器中的宏。
    • @@:执行上次执行的宏。

    上下走:

    • j:向下移动一行。
    • k:向上移动一行。
    • Ctrl + d:向下滚动半屏。
    • Ctrl + u:向上滚动半屏。
    • Ctrl + f:向下滚动一屏。
    • Ctrl + b:向上滚动一屏。
    • G:移动到文件末尾。
    • gg:移动到文件开头。
    • {n}G:移动到第n行。

    左右走:

    • h:向左移动一个字符。
    • l:向右移动一个字符。
    • w:向右移动一个单词。
    • b:向左移动一个单词。
    • 0:移动到行首。
    • $:移动到行尾。
    • %:移动到当前括号的匹配括号位置。
  • 相关阅读:
    JavaEE初阶(5)多线程案例(定时器、标准库中的定时器、实现定时器、线程池、标准库中的线程池、实现线程池)
    Allure的安装
    回收站清空的文件能恢复吗?
    LED灯降压恒流驱动芯片5~60v输出1.5A大电流AP51656
    linux常用命令
    Ray+GPU支持高性能计算
    Laravel 富文本内容
    如何设计开发一对一交友App吸引更多活跃用户
    Java秒杀系统设计
    springboot使用freemarker导出word
  • 原文地址:https://blog.csdn.net/qq_21688871/article/details/130874644