diff options
-rw-r--r-- | share/functions/fish_default_key_bindings.fish | 1 | ||||
-rw-r--r-- | share/functions/fish_vi_key_bindings.fish | 1 | ||||
-rw-r--r-- | src/input.cpp | 1 | ||||
-rw-r--r-- | src/reader.cpp | 2 |
4 files changed, 5 insertions, 0 deletions
diff --git a/share/functions/fish_default_key_bindings.fish b/share/functions/fish_default_key_bindings.fish index 6647e8a6..cac095d3 100644 --- a/share/functions/fish_default_key_bindings.fish +++ b/share/functions/fish_default_key_bindings.fish @@ -9,6 +9,7 @@ function fish_default_key_bindings -d "Default (Emacs-like) key bindings for fis bind $argv "" self-insert bind $argv \n execute + bind $argv \r execute bind $argv \ck kill-line bind $argv \cy yank diff --git a/share/functions/fish_vi_key_bindings.fish b/share/functions/fish_vi_key_bindings.fish index 53551f0f..98f2ca12 100644 --- a/share/functions/fish_vi_key_bindings.fish +++ b/share/functions/fish_vi_key_bindings.fish @@ -38,6 +38,7 @@ function fish_vi_key_bindings --description 'vi-like key bindings for fish' bind -k right forward-char bind -k left backward-char bind -m insert \n execute + bind -m insert \r execute bind -m insert i force-repaint bind -m insert I beginning-of-line force-repaint bind -m insert a forward-char force-repaint diff --git a/src/input.cpp b/src/input.cpp index e8728662..bc64889e 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -499,6 +499,7 @@ int input_init() { input_mapping_add(L"", L"self-insert"); input_mapping_add(L"\n", L"execute"); + input_mapping_add(L"\r", L"execute"); input_mapping_add(L"\t", L"complete"); input_mapping_add(L"\x3", L"commandline \"\""); input_mapping_add(L"\x4", L"exit"); diff --git a/src/reader.cpp b/src/reader.cpp index 63b70283..df196492 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -1028,6 +1028,8 @@ void reader_init() /* Set the mode used for the terminal, initialized to the current mode */ memcpy(&shell_modes, &terminal_mode_on_startup, sizeof shell_modes); + shell_modes.c_iflag &= ~ICRNL; /* turn off mapping CR (\cM) to NL (\cJ) */ + shell_modes.c_iflag &= ~INLCR; /* turn off mapping NL (\cJ) to CR (\cM) */ shell_modes.c_lflag &= ~ICANON; /* turn off canonical mode */ shell_modes.c_lflag &= ~ECHO; /* turn off echo mode */ shell_modes.c_iflag &= ~IXON; /* disable flow control */ |