我现在只是使用箭头,并且-如果我有长命令,从命令开始到命令中间将花费一些时间。
有没有办法例如不使用箭头就跳到命令中间?
#1 楼
Readline库提供了一些有用的行编辑键绑定:Ctrl + A:转到行的开头
Ctrl + E:转到行尾
Alt + B:向后跳过一个单词
Alt + F:向后跳过一个单词
Ctrl + U:删除到行首
Ctrl + K:删除到行尾
Alt + D:删除到字尾
#2 楼
这里还有更多快捷方式 Ctrl + a – Go to the start of the command line
Ctrl + e – Go to the end of the command line
Ctrl + k – Delete from cursor to the end of the command line
Ctrl + u – Delete from cursor to the start of the command line
Ctrl + w – Delete from cursor to start of word (i.e. delete backwards one word)
Ctrl + y – Paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor
Ctrl + xx – Move between start of command line and current cursor position (and back again)
Alt + b – Move backward one word (or go to start of word the cursor is currently on)
Alt + f – Move forward one word (or go to end of word the cursor is currently on)
Alt + d – Delete to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + c – Capitalize to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + u – Make uppercase from cursor to end of word
Alt + l – Make lowercase from cursor to end of word
Alt + t – Swap current word with previous
Ctrl + f – Move forward one character
Ctrl + b – Move backward one character
Ctrl + d – Delete character under the cursor
Ctrl + h – Delete character before the cursor
Ctrl + t – Swap character under cursor with the previous one
评论
感谢您提供的这份简单明了的清单。
–neverMind9
18年7月9日在10:04
#3 楼
如果您是vi [m]和bash用户,则可以通过将set editing-mode vi
添加到~/.inputrc
或/etc/inputrc
文件中来使readline(由bash使用)使用vi样式编辑很有用。或者,您可以通过运行bash命令set -o vi
使bash使用vi样式编辑。将命令添加到~/.bashrc
文件中,以使行为持久。如果您是zsh用户,请将
bindkey -v
添加到.zshrc
文件中以进行vi样式编辑。#4 楼
我不知道一种不使用光标键专门跳到中间的方法。但是,我建议您使用Ctrl +光标键从空白移到空白(即,从一个单词跳到另一个单词)。#5 楼
在您的.bashrc中获取以下代码片段。 Ctrl-a跳到开始处,再次按Ctrl-a跳到中间处。jump_mid() {
if [ "$READLINE_POINT" -eq "0" ]; then
LEN=${#READLINE_LINE}
POS=$(($LEN / 2))
READLINE_POINT=$POS
else
READLINE_POINT=0
fi
}
bind -x '"\C-a" : jump_mid'
或者如果您想使用Ctrl-Something直接跳到中间,将代码更改为:
jump_mid() {
LEN=${#READLINE_LINE}
POS=$(($LEN / 2))
READLINE_POINT=$POS
}
并将其绑定到与Ctrl-a不同的东西。
评论
+1,因为即使由于某些原因ctrl箭头不起作用,此操作也有效。值得注意的是,对于屏幕用户,Ctrl-A变为Ctrl-AA。
– Enzotib
2011年5月27日18:54
要撤消删除(或通过删除来移动文本),请使用Ctrl +Y。
– Lekensteyn
2011年6月8日在22:48
Ctrl +右箭头,Ctrl +左箭头值得一提。
–mac
2014年1月16日15:04
在Ubuntu上,使用Gnome和GnomeTerminal Alt-A可以打开菜单而不是移动光标。您如何在Gnome中使用Alt-A?我的意思是,Gnome是默认设置,因此可能有任何人读它会在Gnome中运行终端。
–詹森
2014年8月5日23:42
如果您要通过SSH从OS X连接到Ubuntu,则可能必须使用“ Esc”而不是Ctrl,例如Esc-A,Esc-E等。对于iTerm和Terminal来说是这样。
–弗雷德·克劳森(Fred Clausen)
2015年1月28日,0:30