首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Linux文本编辑艺术】:从入门到熟练,Vim大师之路揭秘

可视模式(Visual Mode):命令模式下按下 v 键进入可视模式。可视模式下,你可以选择一块文本区域,并对其进行复制、剪切、粘贴等操作。按下 Esc 键可以退出可视模式返回到命令模式。...0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符 (常用) $ 或功能键[End] 移动到这一行的最后面字符(常用) H 光标移动到这个屏幕的最上方那一行的第一个字符 M 光标移动到这个屏幕的中央那一行的第一个字符...dd 剪切游标所在的那一整行(常用),用 p/P 可以粘贴。 ndd n 为数字。剪切光标所在的向下 n 行,例如 20dd 则是剪切 20 行(常用),用 p/P 可以粘贴。...进入输入或取代的编辑模式 进入输入或取代的编辑模式 i, I 进入输入模式(Insert mode): i 为『从目前光标所在输入』, I 为『目前所在行的第一个空格开始输入』。...o 为目前光标所在的下一行输入新的一行; O 为目前光标所在的上一行输入新的一行!

15410

文本编辑工具vi的使用

- 光标移动到非空格符的当前行 0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符 $ 或功能键[End] 移动到这一行的最后面字符 H 光标移动到这个屏幕的最上方那一行的第一个字符...光标向下移动 n 行 04 — 命令模式切换到输入模式 命令模式切换到输入模式的可用的按钮 功能键 说明 i, I i 为从当前光标所在输入, I 为在当前所在行的第一个空格开始输入。...o, O o 为目前光标所在的下一行输入新的一行;O 为目前光标所在的上一行输入新的一行。...dd 剪切游标所在的那一整行(常用),可用 p/P 进行粘贴。 ndd n 为数字。剪切光标所在的向下 n 行,用 p/P 可以粘贴。...第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !

95230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Vim常见命令(简洁精炼,干货)

    键入:wq保存退出 命令模式:用于复制、粘贴、删除、插入、撤销、移动等命令 移动: h、j、k、l--移动左、下、上、右光标(j比较像 ↓) 数字0--到本行行头 $--到本行行尾 ^--到本行第一个空格字符...到下一个空格前 E--到下一个空格后 %--匹配括号移动(包括( )、[ ]、{ },需要先移动到某个括号上) */#--移动到与当前光标所在单词相匹配的下一个/上一个单词 插入: i--光标前插入文本...a--光标后插入文本 o--在当前行后插入新行 O--在当前行前插入新行(大写) 删除: x--删除当前光标所在字符 dd--删除当前光标所在行,删除的内容剪切板中 [n]dd--删除当前光标所在行开始的...n行 复制: yy--复制当前光标所在行 [n]yy--n为数字,复制当前光标开始的n行 粘贴: p--粘贴剪切板到光标所在行 搜索: /name--查找光标之后的名为“name”的字符串...,后按n,字符间跳转 撤销: u--撤销(注意是小写) Ctrl+r--回退 替代: r--替代当前光标的字符 cw--替代从光标处所在位置后到一个单词结尾的字符 其他:gU--单词变大写gu--单词变小写

    87410

    MySQL的CHAR、VARCHAR、TEXT等字符串字段等值比较(=)时,会忽略掉尾部的空格,导致有空格也能匹配上的坑

    但我们查询时却遇到一个诡异的现象: SELECT * FROM user_info WHERE user_name = 'lingyejun'; #无空格 SELECT * FROM user_info...的官方文档(https://dev.mysql.com/doc/refman/5.7/en/char.html),原来MySQL的校对规则基于PAD SPACE,这就意味着CHAR、VARCHAR、TEXT等字符串的等值比较...(“=”)会忽略掉尾部的空格。...SELECT * FROM user_info WHERE user_name LIKE 'lingyejun '; #四个空格 3.2 binary binary不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串...四、结论 MySQL的CHAR、VARCHAR、TEXT等字符串字段等值比较("=")时,基于PAD SPACE校对规则,会忽略掉尾部的空格存储时,不会自动截断尾部的空格,会按原值存储; 如果想要精确查询就不能用等值查询

    24110

    vim命令速记

    向上一行 h 向左一个字符 l 向右一个 3j 向下3行 20l 向右20个字符 20[space] 向右20个字符,与上 ctrl+f 向下一页 ctrl+b 向上一页 0或^或[end] 到本行第一个字符...X 向前删除一个字符 3x 向后删除3个字符 dd 删除/剪切当前行 ndd 向下删除/剪切n行 dnG 删除/剪切光标所在行到第n行 d$ 删除/剪切光标到该行最后一个字符 d0 删除/剪切光标到该行第一个字符...+k 上一个窗口 ctrl+w+q 退出当前窗口 常用配置 vim /etc/vim/vimc 或者 vim ~/.vimrc (本文件默认不存在) set set ts=4 #设置tab键为四个空格...一般模式下按v进入visiual模式,选择要复制的行,然后输入 +y 就可以了..../\m.* # 查找任意字符串 /\M.* # 查找字符串 .* (点号后面跟个星号) /\m999.*999 #查找999开始,999结尾的串 处理kindle书摘时的命令 g/xxx/d #删除含有

    54720

    VIM常用命令

    p 粘贴 dd 剪切,8dd:表示从当前光标所在的行开始剪切8行 x 删除单个字符 u 撤销 ctl+r 反撤销 G 调到最后一行 : 15G 表示跳转到第15行, 1G...,$代表从当前行到本文件的末尾 s:substitute的简写,表示执行替换字符串操作; option:表示操作类型,默认只对第一个匹配的字符进行替换; option字段值g(global)表示全局替换...的字符串中的line替换为lines :2,10s/line/lines/g表示将2~3行的line全局替换为lines 三:全文的行首加入//字符,批量注释时非常有用 :%s/^/\/\//表示全文范围行首替换插入...//,注意在Vim中需要将/进行转义后才可以替换 四:将所有行尾多余的空格删除 :%s= *$==表示全局替换行尾的一个或多个空格,更多正则表达式的说明可以参考Vim正则表达式2d 9.vim刷新当前文件...10.移动光标 删除: ctrl + u :从光标向前删除指令串 ctrl + k : 从光标向后删除指令串 删除(具体可以说是剪切)的字符串可以 ctrl + y 进行粘贴 移动: ctrl

    10.8K20

    Vim命令使用说明

    gf – 打开以光标所在字符串为文件名的文件。 :w – 保存修改。 :n1,n2w filename – 选择性保存从某n1行到另n2行的内容。 :wq – 保存并退出。...^: 移动到本行第一个非空白字符。 g^: 同 ^ ,但是移动到当前屏幕行第一个非空字符。 $: 移动到行尾。 g$: 移动光标所在屏幕行行尾。 n|: 把光标移到递n列上。...I: 在当前行第一个非空字符前插入; gI: 在当前行第一列插入; a: 光标后插入; A: 在当前行最后插入; o: 在下面新建一行插入; O: 在上面新建一行插入; :r filename在当前位置插入另一个文件的内容...:[n]r filename第n行插入另一个文件的内容。 :r !date 光标插入当前日期与时间。同理,:r !...d: 删除(剪切可视模式下选中的文本。 d$ or D: 删除(剪切)当前位置到行尾的内容。 d[n]w: 删除(剪切)1(n)个单词 d[n]l: 删除(剪切)光标右边1(n)个字符。

    2.6K11

    Visual Studio中安装viemu后,vim vax 快捷键大全

    (比如10G就是到第10行) gg:到文件首 H:移动光标到屏幕上面 M:移动光标到屏幕中间 L:移动光标到屏幕下面 *:读取光标字符串,并且移动光标到它再次出现的地方。...一个括号的上面,然后按%,鼠标就会出现在匹配的另外一半括号。 >>:缩进所有选择的代码 <<:和上面类似,但是反缩进 gd:到达光标所在函数或者变量的定义。...K:Man里面查找光标当前所在的词。...由于这很难指定,可以替换命令中加一个 “c” 标记,这样,Vim 会在每次替换前提示你:          :%s/\/4/gc 2,删除多余的空格 要删除这些每行后面多余的空格,可以执行如下命令:...星号 “*” 仅仅应用于那个紧邻它前面的项。因此 “ab*” 匹配 “a”,”ab”,”abb”,”abbb”,等等。如要多次重复整个字符串,那么该字符串必须被组成一个项。

    1.1K50

    Linux下强大的编辑器Vim使用『技巧』

    常用操作 以下操作普通模式下执行,连续按键 漫游 j 向下 30j 向下移动30行 k 向上 h 向左 l 向右 0 到行首 ^ 到行首第一个字符,如果前面有空格的话 $ 到行尾 gg 快速到文件头...G 快速到文件尾 100G 跳转到第100行 不建议插入模式下进行光标移动,这很低效 复制:y yy 复制一行 10yy 向下复制10行 yw 复制光标开始的一个单词 y$ 复制光标到行尾 yfB 复制光标到第一个大写...,按p即可粘贴到其他地方 dd 删除一行 200dd 删除200行 dw 删除一个单词 (最喜欢啦) df" 删除到出现的第一个双引号 粘贴: p p 粘贴复制或剪切的内容 3p 将复制或剪切的内容粘贴三次...普通模式下,输入:即可进入 %s/$/sth/ 在行尾追加sth %s/^M//g 替换掉dos换行符,\^M使用ctrl+v + Enter即可输入 :g/^s*$/d 删除空行以及只有空格的行...查找字符串 同样的,正则的知识也可以应用* 普通模式下,按下/直接进入查找,输入相应的字符串按确定即可。

    1.5K40

    Linux生产环境上,最常用的一套“vim“技巧

    常用操作 以下操作普通模式下执行,连续按键 漫游 j 向下30j 向下移动30行k 向上h 向左l 向右0 到行首^ 到行首第一个字符,如果前面有空格的话$ 到行尾gg 快速到文件头G 快速到文件尾100G...跳转到第100行 不建议插入模式下进行光标移动,这很低效 复制:y yy 复制一行10yy 向下复制10行yw 复制光标开始的一个单词y$ 复制光标到行尾yfB复制光标到第一个大写B中间的内容y2fB...dd 删除一行200dd 删除200行dw 删除一个单词 (最喜欢啦)df” 删除到出现的第一个双引号 粘贴: p p 粘贴复制或剪切的内容3p 将复制或剪切的内容粘贴三次 可视化模式 v 行模式,选择一些内容...查找字符串 同样的,正则的知识也可以应用* 普通模式下,按下/直接进入查找,输入相应的字符串按确定即可。...输入100@a重复宏100次,也就是影响下面的100行 可以录制不同的多个宏,方便的进行批量操作 其他 另外用的一些比较少的主要功能有 r 替换字符ggVG 全选u 恢复更改J 合并下一行gU 光标转大写

    1.3K20

    日常记录(2)vim操作查询手册

    :bd/:bd3 删除当前的缓冲区/指定缓冲区窗口 “byw 将当前光标到单词结尾的内容放入寄存器”b中(无”b则放入匿名寄存器””中) “bdw 将当前光标处到单词结尾的内容剪切到寄存器”b中 “bp...查找以字符串开始的行 /字符串$ 查找以字符串结尾的行 替换功能 按键 功能 ..../g 将n1到n2行所有p1均用p2替代 :%s/p1/p2/gciIe 替换时、全局替换,替换确认,忽略大小写,区分大小写,没有匹配时不显示错误 :106;/endstring/s/p1/p2/g 106...cw/ce/cb/c4l 删除当前光标经过的字符量,单个单词不删除空格,进入插入模式 c2w/c2aw 删除光标后的两个单词,进入插入模式 dw/d3e/db/d4l 删除当前光标经过的字符量,并删除空格...[n]dd 删除从当前行开始的 n 行(准确来讲,是剪切剪切不粘贴即为删除) [n]yy 复制从当前行开始的 n 行 p 把粘贴板上的内容插入到当前行 dG 删除光标所在行开始到文件尾的所有字符 J

    95220

    vim之快捷键

    剪切 快捷键 含义 dd 剪切当前行 ndd n表示大于1的数字,剪切n行 dw 从光标剪切至一个单子/单词的末尾,包括空格 de 从光标剪切至一个单子/单词的末尾,不包括空格 d$ 从当前光标剪切到行末...d0 从当前光标位置(不包括光标位置)剪切之行首 d3l 从光标位置(包括光标位置)向右剪切3个字符 d5G 将当前行(包括当前行)至第5行(不包括它)剪切 d3B 从当前光标位置(不包括光标位置)反向剪切...3个单词 dH 剪切从当前行至所显示屏幕顶行的全部行 dM 剪切从当前行至命令M所指定行的全部行 dL 剪切从当前行至所显示屏幕底的全部行 复制 快捷键 含义 yy 复制当前行 nyy n表示大于1的数字...,复制n行 yw 从光标复制至一个单子/单词的末尾,包括空格 ye 从光标复制至一个单子/单词的末尾,不包括空格 y$ 从当前光标复制到行末 y0 从当前光标位置(不包括光标位置)复制之行首 y3l

    43420

    Linux学习笔记之vim操作指令大全

    h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符...^: 移动到本行第一个非空白字符。 g^: 同 ^ ,但是移动到当前屏幕行第一个非空字符。 :移动到行尾。<listyle="list−style:inherit!...0x05  <em>剪切</em>复制和寄存器 6.1 <em>剪切</em>和复制、粘贴 [n]x: <em>剪切</em>光标右边n个字符,相当于d[n]l。 [n]X: <em>剪切</em>光标左边n个字符,相当于d[n]h。 y: 复制<em>在</em>可视模式下选中的文本。...<em>在</em>vimrc中添加set fileencoding=ucs-bom,utf-8,cp936,vim会根据要打开的文件选择合适的编码。 注意:编码之间不要留<em>空格</em>。 cp936对应于gbk编码。...这种情况会先跳转到<em>第一个</em>匹配<em>处</em>。 :[n]tnext – 下一[n]个匹配。 :[n]tprev – 上一[n]个匹配。

    2.8K21

    100 条 Linux vim 命令备忘单,收藏起来随时备用!

    强行写入当前文件并退出 插入命令备忘单 a 光标后插入 A 在行尾插入 i 光标前插入 I 在行中的第一个非空白之前插入 gI 第 1 列中插入 o 光标下方开始新行并插入 O 光标上方开始新行并插入...剪切、复制和粘贴命令备忘单 yy复制(猛拉)整行 #yy复制指定行数 dd剪切(删除)整行 #dd剪切指定的行数 p粘贴在光标后 P粘贴在光标前 删除命令备忘单 d删除突出显示的文本 dd删除一行文本...删除从光标所在位置到文件开头的所有内容 dG删除从光标所在位置到文件末尾的所有内容 x删除单个字符 编辑文本命令备忘单 r替换单个字符(并返回命令模式) cc替换整行(删除该行并进入插入模式) C/ c$从光标替换到行尾...cw从光标替换到词尾 s删除一个字符(并进入插入模式) J将下面的行合并到当前行,它们之间有一个空格 gJ将下面的行合并到当前行,它们之间没有空格 u撤消 Ctrl+ r重做 .重复上一个命令 移动命令备忘单...命令模式下执行: v允许选择文本片段的可视模式 V允许选择整行的可视模式 CTRL+v允许选择文本块的视觉块 可视化模式下执行: >向右缩进 <向左缩进 y复制 d剪切 ~大小写切换 u将选中文本转换为小写

    1.5K20

    linux下md5sum用法 (查看文件或字符串的md5值)

    -w或--warn: check的时候,检查输入的md5信息又没有非法的行,如果有则输出相应信息。...参数 文件:指定保存着文件名和校验和的文本文件 示例 1) 查看一个字符串的md5值 在线查看字符串的md5值地址: https://md5jiami.51240.com/ linux终端里查看出来的...md5sum |cut -d" " -f1 5eb63bbbe01eeed093cb22bb8f5acdc3 命令解释: md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件为...(注意: echo -n 后面的-n参数必须加上, 这样算出的字符串的md5值才正确) cut: cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。...-d 指定与空格和tab键不同的域分隔符。-f1 表示第一个域。

    4.4K11

    Emacs 快捷键

    Home beginning-of-buffer 将插入点移到缓冲区的开始。(某些版本中,这个键被缺省定义为移动到当前行的开始。) End end-of-buffer 将插入点移到缓冲区的末尾。...Emacs 搜索和替换命令 绑定 命令或者函数 描述 C-s [字符串 ] [C-w ] [C-y ] isearch-forward 前向增量地整个缓冲区中搜索字符串缺省情况下,将搜索您上一次给出的搜索字符串...C-r [字符串 ] [C-w ] [C-y ] isearch-backward 后向增量地整个缓冲区中搜索字符串 (缺省情况下,将搜索您上一次给出的搜索字符串,如果存在),C-w 使用从光标处到光标所在单词的词尾之间的文本...M-k kill-sentence 剪切从光标到句子的结尾的内容。 M-z zap-to-char 删除从光标到指定的字符之间的所有文本。 M-y yank-pop 移动到剪切环中的下一个槽位。...compare-windows 将当前窗口与下一个窗口进行比较,两个窗口中从光标开始比较,并在两个缓冲区中将光标移动到第一个不同的字符,直到到达缓冲区的末尾为止。

    2K20

    Linux 学习VI编辑器

    yy:复制光标所在的这一行 4yy:复制 光标所在行开始向下的4行 p:粘贴 dd:剪切 光标所在的这一行 2dd:剪切 光标所在的行向下2行 D:从当前的光标开始剪切,一直到行末 d0...pattern:从光标开始向文件首搜索pattern n:同一方向重复上一次搜索命令 N:反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行中所有p1均用p2替代 :n1,n2s/...---- 2.编辑命令 i、a、r——光标的前、后以及所在插入字符命令(i=insert、a=append、r=replace)。...---- 4.整个文件的各行或某几行的行首或行尾加一些字符串。...---- vi file1 file2 ---- yy 文件1的光标拷贝所在行 ---- :n 切换到文件2 (n=next) ---- p 文件2的光标所在粘贴所拷贝的行 ---- :n 切换回文件

    7.6K30
    领券