Questions tagged «insert-mode»

Vi和Vim中的一种模式,您可以在其中插入文本到打开的文档中。

3
同时编辑不同的单词,就像在Sublime Text中用相同的一行选择多个选项
是否可以同时编辑同一行中的多个单词? 例如,假设我有这个: Spam and Eggs is all you need for a healthy breakfast 我想将行更改为: organic_Spam and organic_Eggs is all you need for a healthy breakfast 我想突出显示“垃圾邮件”和“鸡蛋”,并同时在“垃圾邮件”和“鸡蛋”之前加上“ organic_”。有点像使用可视块在不同的行上同时写,但是这里在同一行上写东西。我看到一位同事使用Sublime Text进行此操作,并尝试使用Google谷歌搜索,但无济于事。

1
有哪些选项可以进入插入模式?
我a以前从未意识到没有关于插入模式开始位置的系统来进入插入模式。 有时我很烦恼,a将光标放在行的第一个字符之后,但问题是:它在当前光标位置之后进入插入模式。 然后我意识到我可以在行的末尾使用A或在当前行的下方进入插入模式o。 在正常模式下进入插入模式有哪些方式,它们有什么区别?



1
在插入模式下映射字母序列
我已经可以在插入模式下映射组合键: :inoremap abc <do stuff> 但是,这有一些缺点: 在键入序列的部分版本(例如)时ab,实际上不会在短时间内显示字符,因为这是在“等待”以查看是否要键入完整命令。这是不可取的。如果要输入字母的部分子字符串,我想映射一个字母链而不暂停。 如果键入ab,则暂停(并等待直到字符实际上如上述指出那样出现),然后键入c,命令将不会执行。我希望无论等待多长时间都可以执行命令。 我会使用iab,但是那是行不通的,因为: 它需要在字符串后输入一个空格 我不能用它执行任意命令,只能插入文本字符串。 如果在插入模式下输入了某个字符串而没有使用映射,是否有任何方法可以执行命令或击键(映射会在每次键入an时烦人地暂停a,而等待时间过长则无法工作)?

1
如何在vim中实现自动列表编号?
合同等正式物品需要编号清单。 1. Some text 2. More text 2.1. Sub-section text 等等 关键是消除在插入或删除列表项时的手动重新编号。这可能vim吗?列表编号的一致性确实很难手动跟踪。 与此相关的目标之一是通过非混淆的存储格式(例如明文)来实现适当的修订控制。

1
在没有文件,不存在的文件或空白文件的情况下启动Vim时如何运行autocmd(但从现有文件开始时则不能)?
当我启动Vim时,我想在以下情况下运行一个autocmd: 没有指定文件名。 文件为新文件时。 文件存在但完全空白时。 在以上三种情况下,我都想运行一个autocmd;具体而言,我想自动启动插入模式为只在上述情况(而不是当我打开一个已经存在和不为空的文件)。 更新: 我试过将以下内容放入我的_vimrc,但是运气不好(另外,我不确定在vim中是否有一个函数在打开文件之前先计算文件中字符的数量(看是否为零): if @% == "" || filereadable(@%) autocmd BufRead,BufNewFile * startinsert endif

1
可视块插入新行
我使用可视块模式进行了大量工作,这对于跨很多行进​​行快速更改非常有用。 但是我正在努力做的事情是像这样插入换行符: 选择记为[]: Some [t]ext Some [t]ext Some [t]ext Some [t]ext Some [t]ext 我按,I然后可以在之前添加一些文本t: Some other text Some [t]ext Some [t]ext Some [t]ext Some [t]ext 当我按时,<Esc>我得到以下信息: Some other text Some other text Some other text Some other text Some other text 但是现在,如果我按<CR>而不是要添加的文本,则按需插入换行符,但不插入其他行。结果如下: Some text Some text Some text Some text …

2
有没有办法插入单个字符然后退出插入模式?
当我浏览文本时,例如,在某些单词或引号周围加上反引号时,每次插入后必须按Esc或Ctrl- [会很烦人。插入内容(和附加内容)不同,因此.并没有太大帮助。 是否有任何类似的功能,r使单个字符后返回正常模式,但使用插入模式而不是替换模式?

1
单词是否有<Cw>?
在插入模式下按Ctrl- w将删除前一个单词。它等效于Ctrl- Backspace在Windows中和Opt- Delete在OS X中,并确实加快了键入速度。 Vim有的不同的概念word和WORD(见:help word)。这是无价的文字导航:它的区别w和W,b和B,等等。 Ctrl- w经营上word。有类似的指示WORD吗?

1
有前置插入模式吗?
我试图写一个字符串,所有字符都从z到a,我认为如果可以向后写,这会容易得多。 这个想法就像是INSERT模式,在该模式下,在插入每个字符后光标不会前进。我找不到这样的东西,所以我想知道这种模式是否已经存在或可以通过某种方式实现? 注意:我知道我可以颠倒文字,但这不是重点。

2
在Vim中编辑目录
是否可以在Vim中编辑目录?(某些命令适用于目录)。 我想知道在Vim内部的目录中可以执行哪种操作。Vim可以打开目录进行编辑,我相信它也可以使用命令。但是通常的命令对于目录的行为有所不同。 例如,按I并输入文件名并保存目录。当我给时ls,它应该显示该文件。

4
如何向后删除内容直到上一行的“ =”?
我使用一个JavaScript代码示例: 1 var a = 1; 2 var b = |{}; 光标位于|(当光标形状为块时,在字符“ {”上的位置)上,我发现我a应该被分配一个对象,因此我想如下进行修改: 1 var a = {}; 所以我想知道当光标在“ {”上时,如何快速删除“ {”之前的所有内容,直到第1行中“ =“”之后的空白? 在其他普通编辑器中,我将按Backspace键删除代码。但是我不怎么在vim中实现这一目标。

2
如何使用其他按键图创建伪插入模式?
我处于定期使用两种不同的键盘布局(Programmers-Dvorak和Turkish-F)的情况中,与众不同。这些布局彼此之间有很大的不同,我只能精通一组肌肉记忆的vim。我非常精通Dvorak布局中的vim命令,但是如果我的键盘是Turkish-F布局,则几乎无法使用。不幸的是,我经常用英语和土耳其语甚至混合语言来编辑文件。我的熟练程度是,我可以在各自的键盘布局中很好地键入任何一种语言,但是我的大脑拒绝交叉连接它们,甚至从Dvorak布局中用土耳其语键入几个单词,反之亦然。 我有两个按键致敬的绑定来更改Xorg中的布局,但是即使这样,在编辑混合语言文件时,vim中的工作流程也很笨拙: &lt;vim commands…&gt;i&lt;switch to tr&gt;…content…&lt;escape&gt;&lt;switch to en&gt;&lt;vim commands…&gt; 我希望能够将其简化为: &lt;vim commands…&gt;&lt;leader&gt;i…content…&lt;escape&gt;&lt;vim commands…&gt; ...这样就可以使用&lt;leader&gt;i一组:imap值来模拟土耳其语布局,而无需更改系统键盘布局。同时,i将切换到插入模式,但没有多余的:imap值。值本身很容易,我只需要像这样的字母映射即可: :imap a u :imap A U :imap o i :imap O İ "etc. 问题是,如何设置两个插入模式,一种正常插入模式和一个伪插入模式是除了一堆映射的相同的,以及如何可以触发这些模式与&lt;leader&gt;i,&lt;leader&gt;a等?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.