How to set and determine the command line mode of the bash?
up vote
4
down vote
favorite
How to set the vi
or emacs
command line editing mode the Bash AND how to determine which mode is currently set?
bash emacs vi
New contributor
add a comment |
up vote
4
down vote
favorite
How to set the vi
or emacs
command line editing mode the Bash AND how to determine which mode is currently set?
bash emacs vi
New contributor
add a comment |
up vote
4
down vote
favorite
up vote
4
down vote
favorite
How to set the vi
or emacs
command line editing mode the Bash AND how to determine which mode is currently set?
bash emacs vi
New contributor
How to set the vi
or emacs
command line editing mode the Bash AND how to determine which mode is currently set?
bash emacs vi
bash emacs vi
New contributor
New contributor
New contributor
asked 3 hours ago
Blcknx
1235
1235
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
8
down vote
accepted
To set
:
set -o vi
Or:
set -o emacs
(setting one unsets the other. You can do set -o vi +o vi
to unset both)
To check:
if [[ -o emacs ]]; then
echo emacs mode
elif [[ -o vi ]]; then
echo vi mode
else
echo neither
fi
That syntax comes from ksh
. The set -o vi
is POSIX. set -o emacs
is not (as Richard Stallman objected to the emacs
mode being specified by POSIX) but very common among shell implementations. Some shells support extra editing modes. [[ -o option ]]
is not POSIX, but supported by ksh, bash and zsh. [ -o option ]
is supported by bash
, ksh
and yash
(note that -o
is also a binary OR operator for [
).
It works and it is surprising, that it is that difficult to determine the mode.
– Blcknx
3 hours ago
2
set -o | egrep -w '^emacs|vi'
will return whether emacs or vi is set.
– Stephen Harris
3 hours ago
add a comment |
up vote
0
down vote
There is also bind -V | grep editing-mode
.
man bash
is huge but well worth reading in depth.
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
8
down vote
accepted
To set
:
set -o vi
Or:
set -o emacs
(setting one unsets the other. You can do set -o vi +o vi
to unset both)
To check:
if [[ -o emacs ]]; then
echo emacs mode
elif [[ -o vi ]]; then
echo vi mode
else
echo neither
fi
That syntax comes from ksh
. The set -o vi
is POSIX. set -o emacs
is not (as Richard Stallman objected to the emacs
mode being specified by POSIX) but very common among shell implementations. Some shells support extra editing modes. [[ -o option ]]
is not POSIX, but supported by ksh, bash and zsh. [ -o option ]
is supported by bash
, ksh
and yash
(note that -o
is also a binary OR operator for [
).
It works and it is surprising, that it is that difficult to determine the mode.
– Blcknx
3 hours ago
2
set -o | egrep -w '^emacs|vi'
will return whether emacs or vi is set.
– Stephen Harris
3 hours ago
add a comment |
up vote
8
down vote
accepted
To set
:
set -o vi
Or:
set -o emacs
(setting one unsets the other. You can do set -o vi +o vi
to unset both)
To check:
if [[ -o emacs ]]; then
echo emacs mode
elif [[ -o vi ]]; then
echo vi mode
else
echo neither
fi
That syntax comes from ksh
. The set -o vi
is POSIX. set -o emacs
is not (as Richard Stallman objected to the emacs
mode being specified by POSIX) but very common among shell implementations. Some shells support extra editing modes. [[ -o option ]]
is not POSIX, but supported by ksh, bash and zsh. [ -o option ]
is supported by bash
, ksh
and yash
(note that -o
is also a binary OR operator for [
).
It works and it is surprising, that it is that difficult to determine the mode.
– Blcknx
3 hours ago
2
set -o | egrep -w '^emacs|vi'
will return whether emacs or vi is set.
– Stephen Harris
3 hours ago
add a comment |
up vote
8
down vote
accepted
up vote
8
down vote
accepted
To set
:
set -o vi
Or:
set -o emacs
(setting one unsets the other. You can do set -o vi +o vi
to unset both)
To check:
if [[ -o emacs ]]; then
echo emacs mode
elif [[ -o vi ]]; then
echo vi mode
else
echo neither
fi
That syntax comes from ksh
. The set -o vi
is POSIX. set -o emacs
is not (as Richard Stallman objected to the emacs
mode being specified by POSIX) but very common among shell implementations. Some shells support extra editing modes. [[ -o option ]]
is not POSIX, but supported by ksh, bash and zsh. [ -o option ]
is supported by bash
, ksh
and yash
(note that -o
is also a binary OR operator for [
).
To set
:
set -o vi
Or:
set -o emacs
(setting one unsets the other. You can do set -o vi +o vi
to unset both)
To check:
if [[ -o emacs ]]; then
echo emacs mode
elif [[ -o vi ]]; then
echo vi mode
else
echo neither
fi
That syntax comes from ksh
. The set -o vi
is POSIX. set -o emacs
is not (as Richard Stallman objected to the emacs
mode being specified by POSIX) but very common among shell implementations. Some shells support extra editing modes. [[ -o option ]]
is not POSIX, but supported by ksh, bash and zsh. [ -o option ]
is supported by bash
, ksh
and yash
(note that -o
is also a binary OR operator for [
).
edited 3 hours ago
answered 3 hours ago
Stéphane Chazelas
295k54556898
295k54556898
It works and it is surprising, that it is that difficult to determine the mode.
– Blcknx
3 hours ago
2
set -o | egrep -w '^emacs|vi'
will return whether emacs or vi is set.
– Stephen Harris
3 hours ago
add a comment |
It works and it is surprising, that it is that difficult to determine the mode.
– Blcknx
3 hours ago
2
set -o | egrep -w '^emacs|vi'
will return whether emacs or vi is set.
– Stephen Harris
3 hours ago
It works and it is surprising, that it is that difficult to determine the mode.
– Blcknx
3 hours ago
It works and it is surprising, that it is that difficult to determine the mode.
– Blcknx
3 hours ago
2
2
set -o | egrep -w '^emacs|vi'
will return whether emacs or vi is set.– Stephen Harris
3 hours ago
set -o | egrep -w '^emacs|vi'
will return whether emacs or vi is set.– Stephen Harris
3 hours ago
add a comment |
up vote
0
down vote
There is also bind -V | grep editing-mode
.
man bash
is huge but well worth reading in depth.
add a comment |
up vote
0
down vote
There is also bind -V | grep editing-mode
.
man bash
is huge but well worth reading in depth.
add a comment |
up vote
0
down vote
up vote
0
down vote
There is also bind -V | grep editing-mode
.
man bash
is huge but well worth reading in depth.
There is also bind -V | grep editing-mode
.
man bash
is huge but well worth reading in depth.
answered 17 mins ago
studog
21316
21316
add a comment |
add a comment |
Blcknx is a new contributor. Be nice, and check out our Code of Conduct.
Blcknx is a new contributor. Be nice, and check out our Code of Conduct.
Blcknx is a new contributor. Be nice, and check out our Code of Conduct.
Blcknx is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f484997%2fhow-to-set-and-determine-the-command-line-mode-of-the-bash%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown