有没有办法在vim命令行中使用alt+backspace?当必须单独退格/very/long/file/path而不是使用alt+退格来按单词删除时,它会变得难以控制。
alt+backspace
/very/long/file/path
bwleehnv1#
请尝试使用<c-w>(即ctrl+w)来擦除单词或使用<c-u>(ctrl+u)来删除行。
<c-w>
<c-u>
rggaifut2#
http://vim.wikia.com/wiki/Map_Ctrl-Backspace_to_delete_previous_word:imap <C-BS> <C-W>设置ctrl退格键,我得看看怎么做alt
:imap <C-BS> <C-W>
piztneat3#
如果你在路径的末尾,你可以点击B,然后点击dW(大小写有关系),这将跳转到单词的开头(忽略斜线),然后删除单词(同样忽略斜线)。希望这对你有帮助。
B
dW
iswrvxsc4#
Vim无法接收alt输入。skeept的答案似乎是最好的选择。请参阅this answer:Alt/ meta键在Vim和大多数终端中是有问题的,请参阅我的这个答案来了解情况(Meta和Alt的情况是一样的)。简而言之,Vim根本不接收Alt:按Alt+Backspace与按Backspace完全相同。无论如何,从长远来看,学习和习惯Vim的默认键Map对您来说会更好。
laik7k3q5#
正确的答案与大多数UI编辑器中Alt + BackSpace的行为不一致。与此行为对应的vim快捷键是db- aka delete back(一个单词?!),dw将删除单词forth,这将是(Altr或Ctrl)Del快捷键在大多数用户界面程序中。它们的工作方式基本上与w相同-将光标移动到单词beginings和b,将光标移回单词开头...免责声明:我已经使用了10多年我的.vimrc。,这可能有一些怪异的扭曲,改变了默认行为以及。
db
dw
w
b
tct7dpnv6#
当然,这很简单:
if has('gui_running') imap <M-BS> <C-W> else imap <Esc><BS> <C-W> endif
这里的技巧是要知道,假设有一个foo键,在按下Alt+foo组合键后,许多终端会发送一个Escape代码,后跟foo。显然也有例外-一些终端确实发送了一些vim可以识别为Alt的代码。但如果imap <M-BS> <C-W>Map在终端中不起作用,那么很可能您的终端会发送一个Esc。因此组合imap <Esc><BS> <C-W>应该对您有效。您可以在vim文档中通过计算:help map-alt-keys来阅读更多有关这方面的内容。
imap <M-BS> <C-W>
imap <Esc><BS> <C-W>
:help map-alt-keys
pb3skfrl7#
x,则w也应该按每个单词退格。d,则w也将删除光标所在的当前单词。
7条答案
按热度按时间bwleehnv1#
请尝试使用
<c-w>
(即ctrl+w)来擦除单词或使用<c-u>
(ctrl+u)来删除行。rggaifut2#
http://vim.wikia.com/wiki/Map_Ctrl-Backspace_to_delete_previous_word
:imap <C-BS> <C-W>
设置ctrl退格键,我得看看怎么做alt
piztneat3#
如果你在路径的末尾,你可以点击
B
,然后点击dW
(大小写有关系),这将跳转到单词的开头(忽略斜线),然后删除单词(同样忽略斜线)。希望这对你有帮助。
iswrvxsc4#
Vim无法接收alt输入。skeept的答案似乎是最好的选择。
请参阅this answer:
Alt/ meta键在Vim和大多数终端中是有问题的,请参阅我的这个答案来了解情况(Meta和Alt的情况是一样的)。
简而言之,Vim根本不接收Alt:按Alt+Backspace与按Backspace完全相同。
无论如何,从长远来看,学习和习惯Vim的默认键Map对您来说会更好。
laik7k3q5#
正确的答案与大多数UI编辑器中Alt + BackSpace的行为不一致。与此行为对应的vim快捷键是
db
- aka delete back(一个单词?!),dw
将删除单词forth,这将是(Altr或Ctrl)Del快捷键在大多数用户界面程序中。它们的工作方式基本上与w
相同-将光标移动到单词beginings和b
,将光标移回单词开头...免责声明:我已经使用了10多年我的.vimrc。,这可能有一些怪异的扭曲,改变了默认行为以及。
tct7dpnv6#
当然,这很简单:
这里的技巧是要知道,假设有一个foo键,在按下Alt+foo组合键后,许多终端会发送一个Escape代码,后跟foo。显然也有例外-一些终端确实发送了一些vim可以识别为Alt的代码。但如果
imap <M-BS> <C-W>
Map在终端中不起作用,那么很可能您的终端会发送一个Esc。因此组合imap <Esc><BS> <C-W>
应该对您有效。您可以在vim文档中通过计算
:help map-alt-keys
来阅读更多有关这方面的内容。pb3skfrl7#
x,则w也应该按每个单词退格。d,则w也将删除光标所在的当前单词。