mirror of
https://github.com/tmux/tmux.git
synced 2025-04-23 12:58:50 +00:00
PatchSet 790
Date: 2010/11/29 19:45:58 Author: nicm Branch: HEAD Tag: (none) Log: If VISUAL or EDITOR contains "vi", configure mode-keys and status-keys to vi. Based on a diff from martynas@, previously requested by a couple of other people. Members: tmux.1:1.190->1.191 tmux.c:1.93->1.94
This commit is contained in:
parent
e75187310d
commit
d0adcbc98a
20
tmux.1
20
tmux.1
@ -1,4 +1,4 @@
|
|||||||
.\" $Id: tmux.1,v 1.272 2010-12-06 21:55:42 nicm Exp $
|
.\" $Id: tmux.1,v 1.273 2010-12-06 21:59:42 nicm Exp $
|
||||||
.\"
|
.\"
|
||||||
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
.\" Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
.\"
|
.\"
|
||||||
@ -14,7 +14,7 @@
|
|||||||
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
||||||
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
.\"
|
.\"
|
||||||
.Dd $Mdocdate: November 14 2010 $
|
.Dd $Mdocdate: November 29 2010 $
|
||||||
.Dt TMUX 1
|
.Dt TMUX 1
|
||||||
.Os
|
.Os
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
@ -1852,7 +1852,12 @@ or right justified.
|
|||||||
.Xc
|
.Xc
|
||||||
Use vi or emacs-style
|
Use vi or emacs-style
|
||||||
key bindings in the status line, for example at the command prompt.
|
key bindings in the status line, for example at the command prompt.
|
||||||
Defaults to emacs.
|
The default is emacs, unless the
|
||||||
|
.Ev VISUAL
|
||||||
|
or
|
||||||
|
.Ev EDITOR
|
||||||
|
environment variables are set and contain the string
|
||||||
|
.Ql vi .
|
||||||
.It Ic status-left Ar string
|
.It Ic status-left Ar string
|
||||||
Display
|
Display
|
||||||
.Ar string
|
.Ar string
|
||||||
@ -2140,7 +2145,14 @@ Set window modes foreground colour.
|
|||||||
.Op Ic vi | emacs
|
.Op Ic vi | emacs
|
||||||
.Xc
|
.Xc
|
||||||
Use vi or emacs-style key bindings in copy and choice modes.
|
Use vi or emacs-style key bindings in copy and choice modes.
|
||||||
Key bindings default to emacs.
|
As with the
|
||||||
|
.Ic status-keys
|
||||||
|
option, the default is emacs, unless
|
||||||
|
.Ev VISUAL
|
||||||
|
or
|
||||||
|
.Ev EDITOR
|
||||||
|
contains
|
||||||
|
.Ql vi .
|
||||||
.Pp
|
.Pp
|
||||||
.It Xo Ic mode-mouse
|
.It Xo Ic mode-mouse
|
||||||
.Op Ic on | off
|
.Op Ic on | off
|
||||||
|
18
tmux.c
18
tmux.c
@ -1,4 +1,4 @@
|
|||||||
/* $Id: tmux.c,v 1.222 2010-12-06 21:53:00 nicm Exp $ */
|
/* $Id: tmux.c,v 1.223 2010-12-06 21:59:42 nicm Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||||
@ -234,13 +234,13 @@ main(int argc, char **argv)
|
|||||||
struct options *oo, *so, *wo;
|
struct options *oo, *so, *wo;
|
||||||
struct keylist *keylist;
|
struct keylist *keylist;
|
||||||
char *s, *path, *label, *home, **var;
|
char *s, *path, *label, *home, **var;
|
||||||
int opt, flags, quiet = 0;
|
int opt, flags, quiet, keys;
|
||||||
|
|
||||||
#if defined(DEBUG) && defined(__OpenBSD__)
|
#if defined(DEBUG) && defined(__OpenBSD__)
|
||||||
malloc_options = (char *) "AFGJPX";
|
malloc_options = (char *) "AFGJPX";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
flags = 0;
|
quiet = flags = 0;
|
||||||
label = path = NULL;
|
label = path = NULL;
|
||||||
login_shell = (**argv == '-');
|
login_shell = (**argv == '-');
|
||||||
while ((opt = getopt(argc, argv, "28c:df:lL:qS:uUv")) != -1) {
|
while ((opt = getopt(argc, argv, "28c:df:lL:qS:uUv")) != -1) {
|
||||||
@ -362,7 +362,6 @@ main(int argc, char **argv)
|
|||||||
options_set_number(so, "status-fg", 0);
|
options_set_number(so, "status-fg", 0);
|
||||||
options_set_number(so, "status-interval", 15);
|
options_set_number(so, "status-interval", 15);
|
||||||
options_set_number(so, "status-justify", 0);
|
options_set_number(so, "status-justify", 0);
|
||||||
options_set_number(so, "status-keys", MODEKEY_EMACS);
|
|
||||||
options_set_string(so, "status-left", "[#S]");
|
options_set_string(so, "status-left", "[#S]");
|
||||||
options_set_number(so, "status-left-attr", 0);
|
options_set_number(so, "status-left-attr", 0);
|
||||||
options_set_number(so, "status-left-bg", 8);
|
options_set_number(so, "status-left-bg", 8);
|
||||||
@ -403,7 +402,6 @@ main(int argc, char **argv)
|
|||||||
options_set_number(wo, "mode-attr", 0);
|
options_set_number(wo, "mode-attr", 0);
|
||||||
options_set_number(wo, "mode-bg", 3);
|
options_set_number(wo, "mode-bg", 3);
|
||||||
options_set_number(wo, "mode-fg", 0);
|
options_set_number(wo, "mode-fg", 0);
|
||||||
options_set_number(wo, "mode-keys", MODEKEY_EMACS);
|
|
||||||
options_set_number(wo, "mode-mouse", 0);
|
options_set_number(wo, "mode-mouse", 0);
|
||||||
options_set_number(wo, "monitor-activity", 0);
|
options_set_number(wo, "monitor-activity", 0);
|
||||||
options_set_string(wo, "monitor-content", "%s", "");
|
options_set_string(wo, "monitor-content", "%s", "");
|
||||||
@ -431,6 +429,16 @@ main(int argc, char **argv)
|
|||||||
options_set_number(wo, "utf8", 0);
|
options_set_number(wo, "utf8", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
keys = MODEKEY_EMACS;
|
||||||
|
if ((s = getenv("VISUAL")) != NULL || (s = getenv("EDITOR")) != NULL) {
|
||||||
|
if (strrchr(s, '/') != NULL)
|
||||||
|
s = strrchr(s, '/') + 1;
|
||||||
|
if (strstr(s, "vi") != NULL)
|
||||||
|
keys = MODEKEY_VI;
|
||||||
|
}
|
||||||
|
options_set_number(so, "status-keys", keys);
|
||||||
|
options_set_number(wo, "mode-keys", keys);
|
||||||
|
|
||||||
/* Locate the configuration file. */
|
/* Locate the configuration file. */
|
||||||
if (cfg_file == NULL) {
|
if (cfg_file == NULL) {
|
||||||
home = getenv("HOME");
|
home = getenv("HOME");
|
||||||
|
Loading…
Reference in New Issue
Block a user