假如A文件内容为: 105 126 155 205 206 305 328 339 342 360 另有一B文件,现在要根据A文件中的行号,找出B文件所有对应行数据,并存到另一文件C中,SHELL如何实现
撤销与重做 在使用 Vim 或其他编辑器的时候,你可能经常需要对某些修改进行撤销或重做。在 Vim 中,你可以切换到正常模式,按 u 来撤销操作,按 Ctrl+r 来重做。 6....搜索 搜索在很多时候都是一个非常重要的功能。在文件中搜索一个特定的词,可以切换到正常模式,然后输入斜线( / ),之后跟上要搜索的词,回车即可。...把外部文件读入 Vim 我开始使用 Vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。...使用此快捷键你不需要手动打开文件来复制内容。 :read readme.md 9. 把命令的结果读入 Vim 有时候你需要把某个命令的结果复制到 Vim 中,这在 Vim 也非常简单。...command 即可把 command 的结果输入到 vim 中。 :read !ls -l 10. 切换到上次修改的位置 想知道你在文件中做的最后一次修改是在什么位置?
从这篇文章开始,我们要来学习一些Linux中的开发工具。 这篇文章,我们先来学习一下Linux中的文本编辑器——vim。 1....4. vim命令集 首先为了后面方便演示和讲解,先给大家说一个在末行模式下,列出行号和取消行号的操作: 现在再次用vim打开上面我们创建的文件test.c 打开之后默认处在命令模式下,然后我们...n行可以吗?...且分屏显示出来 现在分屏了,你去看你的光标在那个文件,你当前编辑的就是哪个文件 那如何切换到另一个文件呢?...那我们如何把一个普通用户添加到信任列表里面或者说如何对一个普通用户进行授权呢? ,要允许特定的用户使用 sudo,需要 root 用户或具备相应权限的用户编辑 /etc/sudoers 文件。
如果您不再希望拥有它们,只需从用户的 '.vimrc' 文件中删除 'set number' 行。...在 Vim 中显示相对行号 当您启用了相对行号时,这意味着您当前所在的行是行号 0,并且光标上方和下方的行连续编号为 1、2、3。...这特别有用,因为上下移动光标 x 行数变得更容易,您不必进行从行号中减去当前行号的心算,您可以轻松地转到 Vim 中的特定行。 从活动的 Vim 会话中显示 Vim 中的相对行号 确保您处于命令模式。...在任何情况下你想撤销这个行为,你应该从你的用户的 '.vimrc' 文件中删除 'set relativenumber' 行。...在您不再需要混合行编号的任何情况下,只需set number relativenumber从用户的 'vimrc' 中删除该行。
前言 在面试时,当面试官询问你是否会熟练使用Linux中的vim时,你是否会自信地回答:当然了,小菜一碟!...,然后你得意洋洋地等待面试官的下一轮提问,然而,面试官却在沉默片刻后突然问道:那你知道如何在vim中进行查找、替换、复制、粘贴吗?此时,你是不是愣住了,心想:咋还有这玩意呢,没听说过啊?...3、删除操作 dd:删除光标所在行 ndd:删除光标所在位置向下的n行,包括光标所在的行 dw:删除光标所在处到词尾的内容(相当于删除一个单词) x:删除光标所覆盖的字符 nx...下面整理了常用的一些命令: 1、显示行号 set number:显示行号 set nonumber:不显示行号 ndd + p:剪切操作 在末行模式下,直接输入数字即可快速跳转到想要的行...如果输入的数字超过了文档的总行数,则会自动跳转到最后一行。 2、搜索 在Vim编辑器中,想要搜索一个关键词?只需在末行模式中输入/加上关键词或者?加上关键词,并按下回车键即可立即找到该关键词。
在Linux中,yum的源配置文件是在“ /etc/yum.repos.d/ ”目录下的CentOS-Base.repo文件中 肯定有人好奇,yum的源配置文件里面到底放的是什么,真的是前面所说的链接吗...也就是说安装软件需要向系统目录中写入内容,一般需要root权限,如果时普通用户的身份则需要使用sudo提权。yum安装软件只能一个装完了再装另一个....「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符 「dd」:删除光标所在行 「#dd」:从光标所在行开始删除#行 文本复制 「yw」:将光标所在之处到字尾的字符复制到缓冲区中.../install.sh 注意:要在当前用户的家目录下才可以配置,并且为了向特定的目录中写入文件,在执行该命令前需要输入root的密码。....使用vim打开目录”/etc/sudoers“(各位一定存在这个文件,如果不存在就是各位打错了) 最开始的时候这里只有一个root,这也正是能证明你的其他普通用户并不再系统的信任列表中 3
进入vim后默认处于命令模式,可以转换为其他模式。可以控制屏幕光标的移动,字符、字或行的删除、移动、复制等。按ESC键即可从其他模式退出到命令模式。...删除光标位置的一个字符 [n + x]删除光标位置起的n个字符 [X]删除光标所在位置的前一个字符 [n + X]删除光标位置的前n个字符 [dd]删除光标所在行 [n + dd]删除光标所在位置起的n...1.行号 set nu/nonu 列出行号/取消行号 2.分屏 vs copy.c 同时打开多个文件(代码中的copy.c是文件名),但是只有一个光标。光标的意义在于选中的行或屏幕。...vim的配置是在家目录下的.vimrc文件中,可以在该文件中添加一系列的命令。因此vim的配置其实就是修改.vimrc文件。...同一个库函数可能会有多个C程序调用,此时使用静态链接就会导致代码冗余的问题。 5.静态链接拷贝的是.so内部的代码吗? 不是,如果要静态链接的话,系统中必须存在.a结尾的静态库。
并且,如果在开启Vim的插入模式下关闭Vim模拟器,下次进入时仍然是插入模式,比较混乱(因为你关闭模拟器就是为了使用默认keymap输入大段代码,重新开启Vim模拟器就是为了使用普通模式下的命令)。...因此建议把Vim keymap中的Exit Insert Mode设为与另一个keymap的Vim Emulator相同的键(也就是进入Vim模拟器的快捷键)。...可惜仅在Vim模拟器开启时有效。3. 行号定位普通模式下输入 行号G 或 :行号 都能快速定位到某一行。区别在于前者在输入行号时屏幕上没有任何提示,后者则在Vim命令输入框中可以看到输入过程。...(结合前面第5点,你也许注意到了,在指定范围时,使用跳转命令将指定一个从光标位置到跳转目标的区域)12 书签在普通模式下按 m 即可定义书签,按 ` 则可跳转到某个书签的精确位置,按 ‘可跳转到某个书签所在行的行首...录制一些长期有效的宏时,开始录制后,最好先用0,^,T, F, $等命令把光标对齐到行首行末或某个特定起始位置(比如说用 F” 跳转到字符串的左边引号),再用一个f或/指令跳转到操作位置,这样的宏就不用必须把光标放在某个特定字符才能使用了
如果你是一名系统管理员或者开发者,当你在终端工作时有时会需要编辑一个文件。在Linux系统中有几种文件编辑器,你可以根据需求选择合适的文件编辑器。在这里,我想推荐Vim编辑器。...命令模式下的光标移动Vim快捷键允许你使用不同的方式来移动光标: G–跳转到文件最后一行gg–跳转到文件首行$–跳转到行末尾0(数字0)–跳转到行开头w–跳转到下一个单词的开始(单词的分隔符可以是空格或其他符号...o–在光标所在行的下面插入新行O–在光标所在行的上面插入新行ea–在单词的末尾插入拷贝、粘贴和删除一行yy–复制一行p/P–将内容粘贴到光标之后/之前dd–删除一行dw–删除一个单词在Vim中搜索和替换匹配的模式...:%s/旧模式/新模式/gc–逐个询问是否文件中的旧模式替换为新模式如何在Vim编辑器中跳转到特定行你可以根据需求以两种方式达到该目的,如果你不知道行号,建议采用第一种方法。...例如,如果你想跳转到第15行,请输入: :15如果你已经知道行号,请使用以下方法在打开文件时直接跳转到相应行。
并且,如果在开启Vim的插入模式下关闭Vim模拟器,下次进入时仍然是插入模式,比较混乱(因为你关闭模拟器就是为了使用默认keymap输入大段代码,重新开启Vim模拟器就是为了使用普通模式下的命令)。...因此建议把Vim keymap中的Exit Insert Mode设为与另一个keymap的Vim Emulator相同的键(也就是进入Vim模拟器的快捷键)。...可惜仅在Vim模拟器开启时有效。 3. 行号定位 普通模式下输入 行号G 或 :行号 都能快速定位到某一行。...区别在于前者在输入行号时屏幕上没有任何提示,后者则在Vim命令输入框中可以看到输入过程。 (题外话:Sublime Text 2也是用 :行号 来快速定位到某行,应该是沿用了Vim的习惯) 4....录制一些长期有效的宏时,开始录制后,最好先用0,^,T, F, $等命令把光标对齐到行首行末或某个特定起始位置(比如说用 F” 跳转到字符串的左边引号),再用一个f或/指令跳转到操作位置,这样的宏就不用必须把光标放在某个特定字符才能使用了
1.光标定位操作 shift + 4 行右 shift + 6 行左 shift + g 底部 gg 顶部 n + shift + g 跳转光标到指定行,n代表具体的行号 h j k l 分别代表左...o 光标切换到下一行并转到插入模式 三、底行模式 set nu 对文本调出行号,set nonu 取消调出的行号 wq写入并退出,q直接退出,q!...都表示强制操作 vs + 文件名进入分屏,但无论分多少屏,光标只有一个 ctrl + ww 切换光标到另一屏幕 可以不退出vim在底行模式下执行linux命令,但是需要在命令前加感叹号!...所谓的vim配置就是修改自己的.vimrc文件,不要动任何不属于你的配置文件! 例如下面,我对.vimrc进行了set nu的配置来让vim中的文本内容都带上行号。...网上有大量的vim配置,我们可以自己将搜索到的vim配置拷贝到自己的.vimrc文件中 下面就是我在网上搜到的一些vim配置 如果你不想自己配置的话,也可以将下面的这条命令拷贝下来,在xshell
撤销与重做 在使用 Vim 或其他编辑器的时候,你可能经常需要对某些修改进行撤销或重做。在 Vim 中,你可以切换到正常模式,按 u 来撤销操作,按 Ctrl+r 来重做。...在文件中搜索一个特定的词,可以切换到正常模式,然后输入斜线/,之后跟上要搜索的词,回车即可。...把外部文件读入vim 我开始使用vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。...command 即可把command的结果输入到vim中。 > vim rumenz.txt :read !pwd 切换到上次修改的位置 想知道你在文件中做的最后一次修改是在什么位置?...切换到当前行的行首或者行尾 正常模式,输入$跳到当前行的行尾。输入0跳到当前行的行首。 vim中以16进制查看文件 正常模式下,输入:%!
撤销与重做 在使用 Vim 或其他编辑器的时候,你可能经常需要对某些修改进行撤销或重做。在 Vim 中,你可以切换到正常模式,按 u 来撤销操作,按 Ctrl+r 来重做。...在文件中搜索一个特定的词,可以切换到正常模式,然后输入斜线/,之后跟上要搜索的词,回车即可。...把外部文件读入vim 我开始使用vim 的时候,经常会打开一个文件、复制内容、关闭文件、打开另一个文件、然后粘贴进去复制到内容。其实 Vim 中读取另一个文件的内容非常方便。...command 即可把command的结果输入到vim中。vim rumenz.txt:read !pwd 切换到上次修改的位置 想知道你在文件中做的最后一次修改是在什么位置?...切换到当前行的行首或者行尾 正常模式,输入$跳到当前行的行尾。输入0跳到当前行的行首。 vim中以16进制查看文件 正常模式下,输入:%!
学习课堂: rm 命令的-r 表示可删除(非空)目录;-f 表示不需要确认删除;-v 表示删除后显示被删除的文件/目录名称——这里是用来嘲讽我删除了某个目录的吗? 7. 还敢用 sudo 权限吗?...会用 grep 的你,应该知道-n 参数可以告诉你所匹配的行的行号,但是随机乱变的行号是什么鬼?我讨厌随机!...-n 用于输出匹配的行的行号,上述函数将 grep 定义为一个输出的行号完全不可预测的程序。...当你输入了一个命令之后,用小指轻轻地、优雅地,按下右侧的那个小小的回车键,满心以为会爆发出绝世高手的风范。然而……并没有,非但没有,你输入的命令还被删除了一个字符!...上面的的内容很多都需要在特定的环境下执行才行比如使用alias别名等,在脚本中,或不在当前shell执行的时候,都需要注意,可能执行不成功。建议脚本中使用绝对路径。
h向左移动一个光标 ciw删除当前处的词,并进入插入模式 password输入 password 完成 v j d GIF 中步骤如下: V进入内容选择模式 kkk向上移动 3 行,并进行选中 d删除选中部分...因此建议把Vim keymap中的Exit Insert Mode设为与另一个keymap的Vim Emulator相同的键(也就是进入Vim模拟器的快捷键)。...可惜仅在Vim模拟器开启时有效。 3.行号定位 普通模式下输入行号G或:行号都能快速定位到某一行。区别在于前者在输入行号时屏幕上没有任何提示,后者则在Vim命令输入框中可以看到输入过程。...(结合前面第5点,你也许注意到了,在指定范围时,使用跳转命令将指定一个从光标位置到跳转目标的区域) 这里补充一部分文章《vim的跳转与回跳》的内容: vim的跳转 1....录制一些长期有效的宏时,开始录制后,最好先用0,^,T, F, $等命令把光标对齐到行首行末或某个特定起始位置(比如说用F"跳转到字符串的左边引号),再用一个f或/指令跳转到操作位置,这样的宏就不用必须把光标放在某个特定字符才能使用了
Vim 是一个强大的编辑器,当你在 Vim 中高效地完成工作时,你会感觉比任何人都强。 但要做到这一点,你需要掌握 Vim 中的导航。...在特定行启动 Vim 每当你在 Vim 中打开一个文件时,光标都会在第 1 行。 你可以让 Vim 用你的光标在特定的行打开一个文件。只需键入“vim”,在“+”号后指定行号,然后是文件名。...vim +5 foo.rs 如果您知道特定文件中的总行数,则可以在 Vim 中打开文件时指定一个大于文件中行数的数字,光标将位于最底部的行。...如果你已经打开了一个文件进行编辑并且你在 Vim 中启用了行号,你可以尝试以下方法之一来向上或向下移动光标。...如果在输入数字“x”后按“j”键(在正常模式下),光标将向下移动“x”行。 跳转到 Vim 中的行号 在您对“x”行有一个确定/模糊的概念的情况下,有两种方法可以将光标移动到“x”行。
2.删除一行 删除一整行内容使用"dd"命令。删除后下面的行会移上来填补空缺。 3.删除换行符 在Vim中你可以把两行合并为一行,也就是说两行之间的换行符被删除了:命令是"J"。...命令"H","M","L",分别将光标跳转到第一行,中间行,结尾行部分。 15.告诉你当前的位置 使用CTRL-G命令。"set number"在每行的前面显示一个行号。...24.使用标记 当你用"G"命令从一个地方跳转到另一个地方时,Vim会记得你起跳的位置。这个位置在Vim中是一个标记。使用命令" `` "可以使你跳回到刚才的出发点。 ...或者编辑另一个文件,"'B"命令会再把你带回文件"fab2.java"的最后一行。...52.使用vimdiff查看不同 "vimdiff main.c~ main.c",另一种进入diff模式的办法可以在Vim运行中操作。
vim 编辑器就像海洋一样,美好和快乐,如果你深入其中,你就会情不自禁的爱上它,并且再也不愿走出来。...vim 编辑器之所以经久不衰,就是因为它有着一股魔力,无论你使用它多少年了,你总能在某一天看到其他人对它更优雅的操作,它的上限很高,高到可以让你使用它快速地完成任何你想编辑的代码。...同样在 vim 中,我们遇到问题的时候也可以使用 help 寻求帮助,而 vim 的帮助文档很详细,足可以帮助我们解决绝大部分问题。...:set spell insert mode quick delete 我们知道在正常模式下,我们可以通过d和x进行快速地删除文本,那么在插入模式,就是编辑文件的时候,我们有办法快速删除单词吗?...vim + line的方式打开文件,就可以直接跳转到指定行号,当然这个其实并没有太多的意义,因为进入文件之后,在通过行号定位也不算麻烦,可能唯一的好处应该就是对于一个大文件的话,可以省略渲染,直接找到位置
在学习和科研工作中,我使用Vim比较多,而且常常遇到处理文本的情况,比如删除文本中的空行,每行前面增加行号等等这些需求。...下面我按每个需求来写,每条记录中,先是需求的介绍,然后是一个具体的例子,最后是解决方式。默认的解决方式是在Vim中的命令行模式下,按:后再敲入命令。 1....删除Vim中的空行 如下面的文本: a b b c d 操作后空行被删去,变成下面这样: a b b c d 解决方案: :g/^$/d # 删除空白行,但是不删去包含withspace的行...:g/^\s*$/d # 删除空白行,包括删去包含withspace的行 参考链接:http://stackoverflow.com/questions/706076/vim-delete-blank-lines...只替换一行中的特定序号的匹配项 例如原来文本是这样: a a a a a 替换奇数项为b,变成这样: a b a b a 解决方案: :call feedkeys("nynyn") | s/a/b
/passwd 提示:vim默认是不显示行号的,我的会显示,是因为我修改过配置文件,如果你的不显示,想在当前文件中显示出行号可以输入:set nu,然后按下回车就可以显示出行号,如下: 第三种方式:#...将光标快速的定位到当前文档中的指定行,可以输入数字G。 将光标以当前行为准,向上或者向下移动指定的行数,可以输入数字↑/↓。 删除命令: 删除当前行,可以使用按键dd,删除之后下一行上移。...特别说明:在vim中,删除命令和剪切命令是一样,已经删除的内容可以通过粘贴命令显示出来。 复制命令: 复制当前行,可以在光标所在的行按下键盘按键yy。...退出编辑模式,按下键盘的esc键就可以退出编辑模式。 4.vim知识扩展 (1)默认显示行号 在一般情况下,vim是默认不显示行号的,我们可以通过在末行模式中输入set nu来让当前文件显示行号。...但是在关闭之后再次打开又不会显示行号。如何让vim直接默认显示行号呢?解决办法: 修改vim的配置文件进行配置。Vim的配置文件在当前用户的家目录中(如果没有的话自己创建,文件名字叫做.vimrc)。
领取专属 10元无门槛券
手把手带您无忧上云