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

IdeaVim 基本操作

上面的操作都可以配合n使用,比如在正常模式下输入3h,则光标向左移动3个字符 快捷键 含义 0 移动到行首 $ 移动到行尾 ^ 移动到本行第一个非空白字符 n| 把光标移到递n列上 nG 到文件第n...zb 将当前行移动到屏幕底端 文本的插入 基本插入 快捷键 含义 i 在光标前插入 a 在光标后插入 I 在当前行第一个非空字符前插入 A 在当前行最后插入 gI 在当前行第一列插入 o 在下面新建一行插入...取消一个改动 ctrl+r 重做最后的改动 查找与替换 查找 快捷键 含义 /something 在后面的文本中查找something ?...something 在前面的文本中查找something /pattern/+number 将光标停在包含pattern的行后面第number行上 /pattern/-number 将光标停在包含pattern...n次 :normal @[a-z] 在选择区域的每一行上并行执行宏 排版与辅助 快捷键 含义 向左缩进一个shiftwidth >> 向右缩进一个shiftwidth gd 跳转到局部变量的定义处

2.2K30

vim-command

移动光标 key desc h 光标左移一格 j 光标下移一格 k 光标上移一格 l 光标右移一格 w 光标跳到下个字的开头 e 光标跳到下个字的字尾 b 光标回到上个字的开头 nl 光标移动该行的第n...“^” 移动到光标所在行的行首。 删除文字 key desc x 每按一次,删除光标所在位置的后面一个字符。 nx 例如:“6x”表示删除光标所在位置后面6个字符。...例如20则光标会向后面移动20个字符距离 0 这是数字“0”:移动到这一行的最前面字符处(常用) $ 移动到这一行的最后面字符处(常用) H 光标移动到这个屏幕的最上方哪一行 M 光标移动到这个屏幕的中央哪一行...在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2。...在vi中,“数字”是很有意义的。

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

    三个基础排序方式

    , 12 1月 2021 作者 847954981@qq.com 我的编程之路, 算法学习 三个基础排序方式 (排序皆以从小到大排序) 冒泡排序 思路: 1.指向数组中两个相邻的元素(最开始是数组头两个元素...2.如果前面的元素大于后面的元素,交换两个元素的位置。 3.反之则不交换。 4.循环后移,每次将最大的元素移动到最后一个。...j + 1] = array[j]; array[j] = temp; } } } } ---- 选择排序 思路: 1.先设定两个变量一个记录当前最大值...2.依次遍历后面的元素,如果发现比当前最大值大,则将最大值换为此元素,位置改为此元素位置。 3.直到遍历结束,将最大值的元素与最右边元素交换。 4.重复循环,直到排序完成。...2.将临时元素与数组后面的元素进行比较,如果后面的元素小于临时元素,后面的元素前移。 3.如果后面的元素大于临时元素,或者已经移动到数组末尾,则将临时元素插入当前的空隙中。

    52730

    plc的移位指令C语言实现,PLC中使用移位指令是如何实现移位动作的

    为1,那么执行完SFTR后,M3=1,M2=0,M1=0,M0=0 由于M0=0所以不需要灌装 那么随着传送带传动,下一个罐子的工位移动到灌装工位,X2检测当前罐子工位是否有罐子,并将结果放入M3中,假设此次没有罐子...移位次数由CNT决定,在8086中可以是1或CL,CNT为1时只移一位;如果需要移位的次数大于1时,需要先将移位次数存入CL寄存器中,而移位指令中的CNT写为CL即可。...在移位中,作为源操作数的寄存器提供移位值,以补目的操作数因移位引起的空缺,而指令执行完成后,只取目的操作数作为移位的结果,源操作数寄存器则保持指令执行前的值不变。...CF的,同时CF值补到最高位; SHLD:双精度左移,第二个操作数移位到第一个操作数,第一操作数进到CF,和逻辑左移类似,低位移到高位; SHRD:双精度左移,第二个操作数移位到第一个操作数,第一操作数进到...PLC中使用移位指令是如何实现移位动作的 字节移位指令一共有四个 循环右移、循环左移、右移、左移 循环移位指令(左、右)八个位是循环移动的 也就是说循环左移1位就是向左移动1位 最高位移到最低位处 循环右移

    1.2K20

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

    强行写入当前文件并退出 插入命令备忘单 a 在光标后插入 A 在行尾插入 i 在光标前插入 I 在行中的第一个非空白之前插入 gI 在第 1 列中插入 o 在光标下方开始新行并插入 O 在光标上方开始新行并插入...h向左移动光标 j向下移动光标 k向上移动光标 l向右移动光标 b移动到单词的开头 w移动到下一个单词的开头 e移动到单词的末尾 0跳到行首 $跳到行尾 ^跳转到该行的第一个(非空白)字符 Ctrl...+ y将屏幕上移一行(不移动光标) Ctrl + o通过跳跃历史向后移动 Ctrl + i在跳跃历史中前进 H移动到屏幕顶部(H=high) M移动到屏幕中间(M=middle) L移动到屏幕底部(L...在命令模式下执行: v允许选择文本片段的可视模式 V允许选择整行的可视模式 CTRL+v允许选择文本块的视觉块 在可视化模式下执行: >向右缩进 向左缩进 y复制 d剪切 ~大小写切换 u将选中文本转换为小写...command在 shell 中运行“命令”并显示 STDOUT !! command在 shell 中运行“命令”并将 STDOUT 粘贴到文件中 总结 vim用的好,文本编辑一大跑!

    1.5K20

    RefactoringGuru 代码异味和重构技巧总结

    用查询替换临时变量 问题:将表达式的结果放在局部变量中,以便以后在代码中使用。 解决方案:将整个表达式移动到一个单独的方法,并从中返回结果。查询方法,而不是使用变量。...拆分临时变量 问题:你有一个局部变量,用于在方法中存储各种中间值(循环变量除外)。 解决方案:对不同的值使用不同的变量。每个变量应该只负责一个特定的事情。...用对象替换数据值 问题:一个类(或一组类)包含一个数据字段。该字段有自己的行为和相关数据。 解决方案:创建一个新类,将旧字段及其行为放在该类中,并将该类的对象存储在原始类中。...解决方案:从子类中删除字段,并将其移动到超类。 上移方法 问题:你的子类具有执行类似工作的方法。 解决方案:使方法相同,然后将它们移动到相关的超类。...上移构造器主体 问题:你的子类的构造器的代码基本相同。 解决方案:创建一个超类构造器,并将子类中相同的代码移动到它。在子类构造器中调用超类构造器。

    1.9K40

    一道快速排序题的解析

    ---- 分析: 快速排序的分割策略之一就是,首先用一个临时变量对首元素(轴元素)进行备份,取两个指针left和right。...在整个排序过程中保证left不大于right,用下面的方法不断移动指针: 1、首先从right所指的位置向左搜索,找到第一个小于或者等于轴的元素,把这个元素移动到left的位置; 2、再从left所指的位置向右搜索...,找到第一个大于轴的元素,把这个元素移动到right的位置; 3、重复上述过程,直到left=right; 4、最后把轴元素放在left所指的位置。...2、right指针向左搜索,当遇到F时,由于F小于轴值Q,所以把F移动到left指针所指位置: ? 3、left指针向右搜索,当遇到Y时,由于Y大于轴值Q,所以把Y移动到right指针所指位置: ?...4、right指针向左搜索,当遇到D时,由于D小于轴值Q,所以把D移动到left指针所指位置: ? 5、left指针向右搜索,当遇到S时,由于S大于轴值Q,所以把S移动到right指针所指位置: ?

    43710

    Vim命令使用说明

    基本移动 h或退格: 左移一个字符; l或空格: 右移一个字符; j: 下移一行; k: 上移一行; gj: 移动到一段内的下一行; gk: 移动到一段内的上一行; +或Enter: 把光标移至下一行第一个非空白字符...w: 前移一个单词,光标停在下一个单词开头; W: 移动下一个单词开头,但忽略一些标点; e: 前移一个单词,光标停在下一个单词末尾; E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点; b:...,: 配合f & t使用,反向重复一次 上面的操作都可以配合n使用,比如在正常模式(下面会讲到)下输入3h, 则光标向左移动3个字符。...0: 移动到行首。 g0: 移到光标所在屏幕行行首。 ^: 移动到本行第一个非空白字符。 g^: 同 ^ ,但是移动到当前屏幕行第一个非空字符处。 $: 移动到行尾。...粘贴 p: 在光标之后粘贴。 P: 在光标之前粘贴 查找与替换 查找 /something: 在后面的文本中查找something。 ?something: 在前面的文本中查找something。

    2.6K11

    【数据结构与算法】:选择排序与快速排序

    ,除了输入数组外,它只需要有限的几个变量(比如,用于存储最小元素下标的变量和循环计数器)。...指针移动和交换: 向右移动left指针:从left开始向右移动,直到找到一个大于或等于枢轴值的元素,向左移动right指针:从right开始向左移动,直到找到一个小于或等于枢轴值的元素 检查和交换...右侧扫描:第一个内层循环while (left = a[key])从右向左移动right指针,寻找第一个小于枢轴值a[key]的元素。...变量key作为枢轴的索引也被初始化为begin,即子数组的第一个元素 2.4复杂度分析 每一层的时间复杂度:每一层的时间复杂度在快速排序中的推导基于对数组的分区操作。...这个方法的基本思想是选定一个枢轴值(pivot),然后将小于枢轴值的元素移动到枢轴的左边,将大于枢轴值的元素移动到枢轴的右边,最终将枢轴值放入正确的位置。

    29910

    vim的快捷键大全

    在开始行上输入ma作一个标记a   2. 移动到结束行,输入y’a会复制当前行到标记a之间的文本。d’a会删除。 或者是v进入可视模式,再13G跳转到相应行,y即可。...Vim有一种记录宏的机制。你键入”qa”开始把一段宏记录入寄存器变量a'中。...(一次性) “ 上次光标停靠的行 % 匹配到相应括号处 向右移动本行一段距离 向左移动本行一段距离 3向左移动一段距离 :20,30...e:相当于w,向后移动一个单词。不同的是,w移动到单词第一个字符上,e移动到单词最后一个字符上。 所以ea,可以给本单词追加内容。 D:d的简写,同样的,C:c 的简写,同样的,C:c的简写。...在屏幕中移动: H、M、L分别移动到屏幕的顶部、中间和尾部。 nH、nL 移动到距离屏幕顶部和顶部n行的位置。 Enter:到下一行的第一个字符。 +:到下一行的第一个字符。

    2.1K40

    Linux 常用配置及硬件检测命令 VIM编辑器操作基础命令大全

    其中,a 键 与 i 键分别是在光标后面一位和光标当前位置切换到输入模式,而 o 键则是在光标的下面再创建一个空行,此时可敲击 a 键进入到编辑器的输入模式。编辑完成后使用Esc键可返回命令模式。...一般模式常用操作 【h(或向左方向键)】 光标左移一个字符 【j(或向下方向键)】 光标下移一个字符 【k(或向上方向键)】 光标上移一个字符 【l(或向右方向键)】 光标右移一个字符 【[Ctrl]...]】 光标移动到当前行的末尾 【G】 光标移动到文件的最后一行(第一个字符处) 【nG】 n为数字(下同),移动到当前文件中第n行 【gg】 移动到文件的第一行,相当于"1G" 【...n[Enter]】 光标向下移动n行 【/word】 在文件中查找内容为word的字符串(向下查找) 【?...word】 在文件中查找内容为word的字符串(向上查找) 【[n]】 表示重复查找动作,即查找下一个 【[N]】 反向查找下一个 【:n1,n2s/word1/word2/g】 n1、n2为数字,在第

    81720

    VIM文本编辑器

    三种模式介绍完了,我们看下vim的使用,这里面我们还是按照三种模式来对vim的使用进行说明 命令模式可以使用的按键说明 ​ 光标控制按键 h 或 向左箭头键(←) 光标向左移动一个字符...0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用) $ 或功能键[End] 移动到这一行的最后面字符处(常用) H 光标移动到这个屏幕的最上方那一行的第一个字符 M 光标移动到这个屏幕的中央那一行的第一个字符...L 光标移动到这个屏幕的最下方那一行的第一个字符 G 移动到这个文件的最后一行(常用) nG n 为数字。...command 在系统中执行指定的命令 如 :!...这时就可以使用这个设置2 可以删除任意;0 或 1 仅可删除刚刚输入内容 :set all 显示目前所有的环境变量设定值。

    1.6K40

    快速排序的新用法

    通俗点说,大致过程是对于一个无序序列,找到一个"哨兵数",将序列中所有比哨兵数小的数字都移在哨兵数的左边,所有比哨兵数大的数字都移在哨兵数的右边;然后分别对哨兵数左边和右边再使用同样的方法找到新的哨兵数...过程 实现快速排序的过程大致如下: 从数组的中间位置开始,取出一个数字作为临时变量; 然后再从数组的右边开始遍历,寻找一个值比临时变量小的数,挖出这个数来,对上一个坑进行填坑; 然后从数组前面遍历,寻找一个比临时变量大的数...步骤 这个实现的基本步骤是: 选择一个"哨兵数"(这里选择的是数组的第一个元素),并将数组分为两部分,一部分是小于哨兵数的元素,另一部分是大于哨兵数的元素。...在partition函数中,核心的思路是利用两个指针,一个从数组的右边开始向左移动,另一个从数组的左边开始向右移动。当左边的指针找到的数小于等于哨兵数,而右边的指针找到的数大于哨兵数时,交换这两个数。...接下来,我们来看看partition方法的实现。在这个方法中,我们选择数组的最后一个元素作为哨兵数。然后,我们使用两个指针,一个从数组的左边开始向右移动,另一个从数组的右边开始向左移动。

    11010

    Vim 快速入门

    底线命令模式 在命令模式下,按下『:,/,?』中任意一个,就可以将光标移动到最底下那一行,进入底线命令模式(也称为指令列命令模式)。...移动光标的方法 h 或 向左方向鍵(←)光标向左移动一个字符 j 或 向下方向鍵(↓)光标向下移动一个字符 k 或 向上方向鍵(↑)光标向上移动一个字符 l 或 向右方向鍵(→)光标向右移动一个字符...) [Ctrl] + [u]向上滚动(移动半页) +光标移动到非空格符的下一行 -光标移动到非空格符的上一行 n向右移动 n 个字符,n 是数量 0 或功能鍵[Home]数字0,移动到当前行最前面字符处...$ 或功能鍵[End]移动到这一行的最后字符处 H光标移动到这个屏幕最上方一行的第一个字符处 M光标移动到这个屏幕中央一行的第一个字符处 L光标移动到这个屏幕最下方一行的第一个字符处 G移动到这个档案的最后一行...在 vi 中設定一下行號; 6. 移動到第 43 列,向右移動 59 個字元,請問你看到的小括號內是哪個文字? 7. 移動到第一列,並且向下搜尋一下『 gzip 』這個字串,請問他在第幾列? 8.

    1.2K20

    【工具】一个投行工作十年MM的Excel操作大全

    :CTRL+END 向下移动一屏:PAGE DOWN 向上移动一屏:PAGE UP 向右移动一屏:ALT+PAGE DOWN 向左移动一屏:ALT+PAGE UP 移动到工作簿中下一个工作表:CTRL+...PAGE DOWN 移动到工作簿中前一个工作表:CTRL+PAGE UP 移动到下一工作簿或窗口:CTRL+F6 或 CTRL+TAB 移动到前一工作簿或窗口:CTRL+SHIFT+F6 移动到已拆分工作簿中的下一个窗格...向上或向下滚动一行:上箭头键或下箭头键 向左或向右滚动一列:左箭头键或右箭头键 4>Excel快捷键之用于预览和打印文档 显示“打印”对话框:CTRL+P 在打印预览中时: 当放大显示时,在文档中移动...+ENTER 在公式中键入函数名之后,显示公式选项板:CTRL+A 在公式中键入函数名后为该函数插入变量名和括号:CTRL+SHIFT+A 显示“拼写检查”对话框。.../ 选定所有带批注的单元格:CTRL+SHIFT+O (字母 O) 选择行中不与该行内活动单元格的值相匹配的单元格:CTRL+\ 选中列中不与该列内活动单元格的值相匹配的单元格:CTRL+SHIFT+|

    3.7K40

    vim编辑器操作汇总

    在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。 末行模式   末行模式也称ex转义模式。...: h: 左移 j: 下移 k: 上移 l: 右移 M: 光标移动到中间行 L: 光标移动到屏幕最后一行行首 G: 移动到指定行,行号 -G w: 向后一次移动一个字 b: 向前一次移动一个字...{: 按段移动,上移 }: 按段移动,下移 Ctr-d: 向下翻半屏 Ctr-u: 向上翻半屏 Ctr-f: 向下翻一屏 Ctr-b: 向上翻一屏 gg: 光标移动文件开头 G: 光标移动到文件末尾...下一个 N:上一个 替换命令: 把abc全部替换成123 末行模式下,将当前文件中的所有abc替换成123 :%s/abc/123/g 末行模式下,将第一行至第10行之间的abc替换成123...,后面跟命令

    1.4K70

    让我进字节的关键一题!

    注意:答案中不可以包含重复的三元组。 问题的核心是在一个数组中找出所有不重复的三个元素的组合,这三个元素的和为零。下面是对代码的逐步解释,以便于初学者理解每个部分的功能和目的。...查找和为零的三元组: 我们移动左右指针,寻找和为零的三个数。如果找到了,我们将这三个数添加到结果中。为了进一步避免重复,我们在找到一组解后,需要将左右指针移到新的位置,跳过重复的值。...为从 len - 1 向左移动到 i 的元素 for (int i = 0; i < len ; i++) { // 如果发现 nums[i] > 0 ,由于...,向右移动 int left = i + 1; // right 为从 len - 1 向左移动到 i 的元素,向左移动 int...0 ,right 指向的元素值为倒数第一个 2 时 // 它们的 sum 为 0 ,如果让 ,left 向右移动一下,,right 向左移动一下,它们的 sum

    15211

    linux的vi命令详解_centos7 vi命令

    在底线命令模式中,基本的命令有(已经省略了冒号): q 退出程序。 w 保存文件。 按ESC键可随时退出底线命令模式。 4.参数: +n 打开文件,并将光标置于第n行首。...+ 打开文件,并将光标置于最后一行首。 +/pattern 打开文件,并将光标置于第一个与pattern匹配的串处。 -r 在上次正用vi编辑时发生系统崩溃,恢复filename。...5.按键说明: 移动光标 按键 说明 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向右箭头键...0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用) $ 或功能键[End] 移动到这一行的最后面字符处(常用) H 光标移动到这个屏幕的最上方那一行的第一个字符 M 光标移动到这个屏幕的中央那一行的第一个字符...L 光标移动到这个屏幕的最下方那一行的第一个字符 G 移动到这个档案的最后一行(常用) nG n 为数字。

    10.5K10

    Vim 快捷键说明及常用命令

    移动光标的方法 快捷键 作用 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 h 或 向左箭头键(→) 光标向右移动一个字符...按下数字后再按空格键,光标会向右移动这一行的 n个字符。例如 20 则光标会向后面移动 20 个字符距离。...0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用) $ 或功能键[End] 移动到这一行的最后面字符处(常用) H 光标移动到这个屏幕的最上方那一行的第一个字符 M 光标移动到这个屏幕的中央那一行的第一个字符...L 光标移动到这个屏幕的最下方那一行的第一个字符 G 移动到这个文件的最后一行(常用) nG n 为数字。...在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !

    77220

    大佬的快速排序算法,果然不一样

    那么三数中值就为4(1,4,8的中值)。 如何将元素移动到基准两侧 选好基准之后,如何将元素移动到基准两侧呢?...第三步,i向右移动,直到发现大于等于基准的元素9: ? 第四步,j向左移动,直到发现小于等于基准的元素2: ? 第五步,交换i和j: ? 第六步,重复上述步骤,i右移,j左移: ?...后面我们会看到,递归法的代码非常简洁。...然而由于以下几个原因,需要存储在栈中的区间信息很难超出栈空间,因为: 数组长度不会接近unsigned long int,否则内存也撑不住了 区间足够小时,不采用快速排序 每做一个分区,只会增加一个区间...但是有以下注意事项: 有大量重复元素时避免产生糟糕分区,因此在发现大于等于基准或者小于等于基准时,便停止扫描。 通常会将基准一开始移动到最后位置或倒数第二个位置,避免基准在待分区区间。

    60720
    领券