在以大写字母输入单词时,我总是忘记打开CapsLock。我更喜欢键入一个单词,然后使用Vim或readline面向程序中的绑定来对其进行翻译。它很容易在Vim中完成,但不是在readline中完成。
我使用vi keymap并进入.inputrc
set keymap vi-insert
"\C-a":upcase-word
"\C-z":vi-bword
"\C-l":"\C-z\C-a"
所以Ctrl-L
在插入模式下向后翻译一个单词。但是当有不受欢迎的时候就会破裂。例如,lc_time
变为LC_time
。我可以按下Ctrl-A
来强调下划线后的下一部分,但这很乏味。
那么有没有办法让它通过不受欢迎的人?我找不到readline命令来解决这个问题。
答案 0 :(得分:1)
C-a
和C-z
已经非常有用,我认为很多人都不想重新映射它们。 "\eu"
已经映射到相当无用(自己)upcase-word
,它要求您键入一个单词,将光标移回其开头,然后键入M-u
。 upcase-word
确实会引发争论,如果你需要夸大几个单词,这可能会很好。试试这个:
# upper case word (default after cursor). alt-(number) for N words
"\eU": upcase-word
# upper case word before cursor.
"\eu": "\e-1\eU"
使得M-u
向后翻转一个单词,同时仍然可以选择使用alt-shift-u给出一个参数,当一个人真正记住存在时。好消息是它几乎不会更改默认映射,也不会踩到任何其他映射。
e.g。 do not do that again
M--
5
M-U
将生成DO NOT DO THAT AGAIN