添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
没有腹肌的自行车  ·  javascript - ...·  1 年前    · 
暴走的电池  ·  Python ...·  1 年前    · 
1) 光标命令 k,j,h,l---上下左右光标移动命令,虽然可以在Linux中使用键盘右边的四个光标键, 但是记住这四个命令还有非常有用的,也就是右手在键盘上放置的位置部分 nG ----n为行数,该命令立即使光标跳到指定行。 Ctrl+G-----光标所在位置的行数和列数报告 w,b------使光标向前或向后跳过一个单词 2) 编辑命令 i,a,r -------在光标的前,后,上方插入字符命令(i=insert,a=append,r=replace) cw,dw------ 改变(置换)/删除光标所在处的单词的命令 (c=change,d=delete) x,d$,dd -----删除一个字符,光标所在处到行尾的所有字符,和整行的命令 3) 查找命令 /string, ?string-----从光标所在处向后/向前查找相应的字符串的命令 4)拷贝复制命令 yy,p -----拷贝一行到剪贴板/取出剪贴板中内容的命令 常见问题及应用技巧 1) 在一个新文件中读/etc/passwd中的内容,取出用户名部分 vi file :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分 :3r /etc/passwd 这是在指定的行号后面读入文件内容 另外一种方法删掉文件中所有的空行及以#开始的注释行 #cat squid.conf.default | grep -v '^$' | grep -v '^#' 2) 在打开一个文件编辑后才知道登录的用户对该文件没有写权,不能存盘 vi file :w /tmp/1 既然没法存盘,不想放弃所做的所有修改,先临时存到/tmp/1 :20,59w /tmp/1 或者仅仅把第20到59行之间的内容存盘成文件/tmp/1 3) 用VI编辑一个文件,但需要删除大段大段的内容 vi file Ctrl+G 把光标移到需要删除的行的处按ctrl+G显示行号,再到结尾处再按Ctrl+G. :23,1045d 假定两次行号为23和1045,则把这几间的内容全删除 也可以在开始和结束两行中用ma,mb命令标记后用:'a,'bd删除. 4) 在整个文件或某几行中在行首或行尾加一些字符串 vi file :3,$s/^/some string / 在文件的第一行至最后一行的行首前插入some string :%s/$/ some string/g 在整个文件每一行的行尾添加 some string :%s/string1/string2/g 在整个文件中替换string1成string2 :3,7s/string1/string2/ 仅替换文件中的第三到七行中的string1成string2 Note: s为substitute,%表示所有行,g表示global 5) 同时编辑两个文件,在两个文件中拷贝剪贴文本 vi file1 file2 yy 同时打开两个文件,在文件1的光标所在处拷贝所在行 :n 切换到文件2 (n=next) p 在文件2的光标所在处粘贴所拷贝的行 :N 切换回文件1 6) 替换文件中的路径 :%s#/usr/bin#/bin#g 把文件中所有路径/usr/bin换成/bin :%s//usr/bin//bin/g 在'/'前用符号指出'/'是真的单个字符'/' 7) 用 vi 多行注释 如果要给多行程序作注释,一个笨办法就是 插入 # ,然后用 j 跳到下一行用 . 命令,重复上个命令。如果要注释几百行,这样的方法恐怕太愚蠢了。一个聪明的办法是: :.,+499 s/^/#/g 2010-11-24 16:19:41VI中的多行删除与复制法一:单行删除,:1(待删除行)d多行删除 ,:1,10d法二:光标所在行,dd光标所在行以下的N行,Ndd方法1:光标放到第6行,输入:2yy光标放到第9行,输入:p此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。方法2:命令行模式下输入6,9 co 1
熟悉 VI 是学习UNIX 系统的一个关口 vi vi sual edit 的缩写 文本编辑器是所有计算机系统 最常用的一种工具。UNIX下的编辑器有ex,sed和 vi 等,其 ,使用最为广泛的是 vi ,而 vi 命令繁多,论坛里好像这方面的总结不多,以下稍做总结,以资共享!渴望更正和补充! 进入 vi 的命令 vi file name :打开或新建文件,并将光标置于第一行首 vi +n file name :打开文件,并将光标置于第n行首 vi + file name :打开文件,并将光标置于最后一行首 vi +/pattern file name:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r file name :在上次正用 vi 编辑时发生系统崩溃,恢复 file name vi file name.... file name :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕 间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 插入文本类命令 i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符 S: 删除 指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除 命令 ndw或ndW: 删除 光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd: 删除 当前行及其后n-1行 x或X: 删除 一个字符,x 删除 光标后的,而X 删除 光标前的 Ctrl+u: 删除 输入方式下所输入的文本 搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行 所有p1均用p2替代 :n1,n2s/p1/p2/g:将第n1至n2行 所有p1均用p2替代 :g/p1/s//p2/g:将文件 所有p1均用p2替换 all:列出所有选项设置情况 term:设置终端类型 ignorance:在搜索 忽略大小写 list:显示制表位(Ctrl+I)和行尾标志($) number:显示行号 report:显示由面向行的命令修改过的数目 terse:显示简短的警告信息 warn:在转到别的文件时若没保存当前文件则显示NO write信息 nomagic:允许在搜索模式 ,使用前面不带"\"的特殊字符 nowrapscan:禁止 vi 在搜索到达文件两端时,又从另一端开始 mesg:允许 vi 显示其他用户用write写到自己终端上的信息 最后行方式命令 :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d :将n1行到n2行之间的内容 删除 :w :保存当前文件 :e file name:打开文件 file name进行编辑 :x:保存当前文件并退出 :q:退出 vi :q!:不保存文件并退出 vi :!command:执行shell命令command :n1,n2 w!command:将文件 n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入 :r!command:将命令command的输出结果放到当前行 寄存器操作 "?nyy:将当前行及其下n行的内容保存到寄存器? ,其 ?为一个字母,n为一个数字 "?nyw:将当前行及其下n个字保存到寄存器? ,其 ?为一个字母,n为一个数字 "?nyl:将当前行及其下n个字符保存到寄存器? ,其 ?为一个字母,n为一个数字 "?p:取出寄存器? 的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本 删除 ,并将所删内容放到1号 删除 寄存器 。 进入 vi vi test 离开 vi :q! 离开 vi ,并放弃刚在缓冲区内编辑的内容。 :wq 将缓冲区内的资料写入磁盘 ,并离开 vi 。 :ZZ 同wq :w 将缓冲区内的资料写入磁盘 ,但并不离开 vi 。 :q 离开 vi ,若文件被修改过,则会被要求确认是否放弃修改的内容,此指令可与: w 配合使用。 Vi 的操作模式 Vi 提供两种操作模式: 输入模式( insert mode) 指令模式(command mode) 当使用者进入 vi 后,既处于指令模式下,此刻键入任何字元皆被视为指令。 输入模式:a(append) 游标之后加入资料。 A 该行之末加入资料 i ( insert ) 游标之前加入资料 I 该行之首加入资料 o (open) 新增一行与该行之下供输入资料 O 新增一行与该行之上供输入资料 指令模式: B 移至该行第一个字符,若光标在该行第一字符则光标移至上一行第一字符。 b 由游标所在位置之前一个字串的第一个字元 cc 删除 整行,修改整行的内容。 D 以行为单位, 删除 游标在内后面的所有字符。 db 删除 该行光标前字符 dd 删除 该行 de 删除 自光标开始后面的字符 d加字符 删除 光标所在位置至字符之间的单 E   移至该行最后字符,若光标在该行最后字符则光标移至下一行最后字符 e   由游标所在位置至该字串的最后一个字元 G 移至该档案的最后一行  h 向前移一个字元 j 向下移一个字元 k 向上移一个字元 0 移至该行之首 M 移至视窗的 间那行 L 移至视窗的最后一行 l 向后移一个字符 0 由游标所在位置该行的第一个字元 nG 移至该档案的第n行 n+ 自游标所在位置向后移n行至该行的第一字符 n- 自游标所在位置向前移n行至该行的第一字符 R 进入取代状态,直到《ESC》为止 s 删除 游标所在字元,并进入取代模式直到《ESC》 S 删除 游标所在之该行资料,并进入输入模式直到《ESC》 w 由游标所在位置之下一个字串的第一个字元 x 删除 游标所在该字元。 X 删除 游标所在之前一字元。 r 用接于此指令之后的字元取代(replace)游标所在字元 yy yank整行,使游标所在该行 复制 到记忆体缓冲区 显示该行之行号、档案名称、档案 最末之行号、游标所在行号占 总行号之百分比 $ 由游标所在位置至该行的最后一个字元。 ) 由游标所在位置至下一个句子的第一个字元。 ( 由游标所在位置至该句子的第一个字元。 { 由游标所在位置至该段落的最后一个字元。 } 由游标所在位置至该段落的第一个字元 yank和 delete 可将指定的资料 复制 到记忆体缓冲区,而藉有put指令可将缓冲区内的资料 复制 到荧幕上 例如:搬移一行 :在该行执行dd 游标移至目的地 复制 一行 :在该行执行yy 游标移至目的地 视窗移动: 视窗往下卷一页 视窗往上卷一页 视窗往下卷半页 视窗往上卷半页 视窗往下卷一行 视窗往上卷一行 删除 复制 及修改指令介绍: d( delete )、c(change)和y(yank)这一类的指令在 vi 的指令格式为: operation+scope=command (运算子)(范围) d 删除 指令。 删除 资料,但会将 删除 资料 复制 到记忆体缓冲区。 y 将资料(字组、行列、句子或段落) 复制 到缓冲区。 p 放置(put)指令,与d和y配合使用。可将最后 delete 或yank的资料放置于游标所在位置之行列下。 c 修改(change)指令,类似 delete insert 的组合。 删除 一个字组、句子等资料,并插入新键入的...
1、一般模式 操作:上下移动光标、 删除 某个字符、 删除 某行以及 复制 或粘贴一行或 多行 #cp /etc/dnsmasp.conf /tmp/1.txt( 复制 到/tmp目录下) # vi m /tmp/1.txt(编辑这个文件) 编辑时的操作可以有: 移动光标的位置
早期的Unix都是使用 vi 作为系统默认的编辑器。那 vi Vi m有什么区别?其实 Vi m是 vi 的升级版。很多 Linux 系统管理员都习惯用 vi ,因为他们接触 Linux 时用的就是 vi Vi m到后来才比较流行 vi Vi m的最大区别就是编辑一个文本时 vi 不会显示颜色,而 Vi m会显示颜色。显示颜色更便于用户进行编辑,但其他功能没有太大的区别 Vi m有3种模式:一般模式、编辑模式和命令模式,这需要我们牢记。 1.一般模式 当我们使用命令 vi m [文件名] 就会进入编辑的一般模式,在这种模式下我们可以做的操作有:上下移动光标、 删除 某个字符、 删除 某行以及 复制 或粘贴一行或者 多行 。  输入这行命令的时候我们就可以
linux vi 常用命令 命令行模式(command mode)功能键 1). 插入模式 按「i」切换进入插入模式「 insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;   按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;   按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。 2). 从插入模式切换为命令行模式 按「ESC」键。 3). 移动光标 vi 可以直接用键盘上的光标来上下左右移动,但正规的 vi 是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。   按「ctrl」+「b」:屏幕往"后"移动一页。   按「ctrl」+「f」:屏幕往"前"移动一页。   按「ctrl」+「u」:屏幕往"后"移动半页。   按「ctrl」+「d」:屏幕往"前"移动半页。   按数字「0」:移到文章的开头。   按「G」:移动到文章的最后。   按「$」:移动到光标所在行的"行尾"。   按「^」:移动到光标所在行的"行首"   按「w」:光标跳到下个字的开头   按「e」:光标跳到下个字的字尾   按「b」:光标回到上个字的开头   按「#l」:光标移到该行的第#个位置,如:5l,56l。 4). 删除 文字   「x」:每按一次, 删除 光标所在位置的"后面"一个字符。   「#x」:例如,「6x」表示 删除 光标所在位置的"后面"6个字符。   「X」:大写的X,每按一次, 删除 光标所在位置的"前面"一个字符。   「#X」:例如,「20X」表示 删除 光标所在位置的"前面"20个字符。   「dd」: 删除 光标所在行。   「#dd」:从光标所在行开始 删除 #行 5). 复制 「yw」:将光标所在之处到字尾的字符 复制 到缓冲区 。   「#yw」: 复制 #个字到缓冲区   「yy」: 复制 光标所在行到缓冲区。   「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。   「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与"y"有关的 复制 命令都必须与"p"配合才能完成 复制 与粘贴功能。 6). 替换   「r」:替换光标所在处的字符。   「R」:替换光标所到之处的字符,直到按下「ESC」键为止。 7). 回复上一次操作   「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次"u"可以执行多次回复。 8). 更改   「cw」:更改光标所在处的字到字尾处   「c#w」:例如,「c3w」表示更改3个字 9). 跳至指定的行   「ctrl」+「g」列出光标所在行的行号。   「#G」:例如,「15G」,表示移动光标至文章的第15行行首。 Last line mode下命令简介   在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。 A) 列出行号  「set nu」:输入「set nu」后,会在文件 的每一行前面列出行号。 B) 跳到文件 的某一行  「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。 C) 查找字符  「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。  「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。 D) 保存文件  「w」:在冒号输入字母「w」就可以将文件保存起来。 E) 离开 vi 「q」:按「q」就是退出,如果无法离开 vi ,可以在「q」后跟一个「!」强制离开 vi 。  「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。 vi 命令列表 1、下表列出命令模式下的一些键的功能: h 左移光标一个字符 l 右移光标一个字符 k 光标上移一行 j 光标下移一行 ^ 光标移动至行首 0 数字"0",光标移至文章的开头 G 光标移至文章的最后 $ 光标移动至行尾 Ctrl+f 向前翻屏 Ctrl+b 向后翻屏 Ctrl+d 向前翻半屏 Ctrl+u 向后翻半屏 i 在光标位置前插入字符 a 在光标所在位置的后一个字符开始增加 o 插入新的一行,从行首开始输入 ESC 从输入状态退至命令状态 x 删除 光标后面的字符 #x
我们都会犯错,犯错是人之常情,改进它也很重要。 如果你在 Vi m 出错,你可以dw在普通模式下使用 删除 一个单词。您键入dd它会 删除 当前行。 如果要在 Vi m 删除 多行 ,可以使用相同的 dd Vi m 命令,将行数添加到该命令 。 因此,10dd将从光标底部 删除 10 行(包括光标所在的行)。 让我们详细了解如何在以效率着称的编辑器 删除 一行或 多行 删除 单行 以下是在 Vi m 删除 单行文本的步骤: 按 Escape (Esc) 键进入 Normal 模式 确保光标位于要 删除 的行上。 快速按下dd
public static void main( String [] args) { for(int j=1;j<17;j++) { LocalDateTime time = LocalDateTime.now(); time = time.plusMinutes(j*15); LocalDateTime lastQuarter = time.truncatedTo(ChronoUnit.HOURS) .plusMi.
### 回答2: 在 Linux 系统 vi 是一种非常常用的文本编辑器,它可以帮助用户对文本进行创建、编辑、保存、查找等操作。如果用户想要 删除 多行 ,可以使用以下几种方法: 1.普通模式下 删除 多行 要在普通模式下 删除 多行 ,需要先进入普通模式。接着,我们可以使用以下命令来 删除 多行 : (1):num1,num2d 可以使用:num1,num2命令来指定行数,如果要 删除 多行 ,可以将其合并,如:10,20d。其 ,表示的是从第10行到第20行之间的所有内容都将被 删除 。 (2)ggdG 这样的命令可以 删除 整个文件,在普通模式下,使用gg命令可以跳转到文件的开头,使用dG命令可以 删除 从当前行到文件末尾的所有内容。 2.命令模式下 删除 多行 在命令模式下 删除 多行 有以下几种方式: (1):num1,num2d 在命令模式下可以使用:num1,num2d命令,与普通模式下的命令相同,可以 删除 从第num1行到第num2行的所有内容。 (2):g/regex/d 可以使用g/regex/d命令来 删除 与正则表达式regex匹配的行。其 /regex/表示正则表达式。 (3):v/regex/d 与g/regex/d命令相反,v/regex/d命令可以 删除 不匹配正则表达式regex的行。 以上就是在 Linux vi 编辑器 删除 多行 的几种方法,可以根据具体的情况选择合适的方法。同时要注意备份文件,避免误操作造成的数据丢失。 ### 回答3: 在使用 Linux vi 编辑器时,经常需要 删除 多行 ,下面介绍几种方法: 1. 通过命令 删除 多行 : 可以使用 “:” 命令 删除 多行 。在 vi 编辑器的命令模式下,输入 “:” 后,再输入 “start,end d” 命令(其 的 start 和 end 表示要 删除 的行的起始行数和终止行数)即可 删除 多行 。例如,要 删除 第 1 到第 5 行,就可以输入: :1,5d 这样就可以 删除 第 1 到第 5 行的文本内容。 2. 通过正则表达式 删除 多行 : 可以使用正则表达式匹配要 删除 的行,并进行 删除 。在 vi 编辑器的命令模式下,输入 “:” 后,再输入 “/pattern/n,d” 命令(其 的 pattern 指正则表达式,n 表示匹配行数,d 表示 删除 匹配的行)即可。例如,要 删除 以 “Hello” 开头的 5 行,可以输入: :/^Hello/n,5d 这样就可以 删除 以 “Hello” 开头的前 5 行。 3. 通过可视化模式 删除 多行 : 在 vi 编辑器的命令模式下,按 “v” 键可以进入可视化模式。在可视化模式下,可以使用光标选择要 删除 的行,然后按 “d” 键进行 删除 。例如,可以选择第 1 行到第 5 行进行 删除 ,具体操作如下: 1)进入可视化模式:按 “v” 键进入可视化模式; 2)选择要 删除 的行:按 “G” 键移到文件末尾,再按 “j” 键向下选择 4 行; 3) 删除 的行:按 “d” 键进行 删除 。 4. 通过批量 复制 粘贴 删除 多行 : 可以先将要 删除 多行 复制 到粘贴板 ,然后再 删除 这些行。具体操作如下: 1)在命令模式下,将光标移到要 复制 的行的起始位置; 2)按 “v” 进入可视化模式,选择要 复制 多行 ; 3)按 “y” 复制 的内容到粘贴板 ; 4)将光标移到要 删除 的行的起始位置; 5)按 “p” 将粘贴板 的内容 复制 到当前位置; 6)移动到下一行,按 “dd” 删除 当前行。 通过上述方法,可以轻松 删除 多行 ,在 vi 编辑器 提高工作效率。