feat(defaults): map Y to y$ #13268

rationale:
- consistent with D and Y
- long recommended by Vim's own ":help Y"

close #13268
close #416
ref #6289
This commit is contained in:
Matthieu Coudron 2021-08-16 06:24:59 +02:00 committed by GitHub
parent aa07d06bf4
commit 5a111c1b02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 26 additions and 6 deletions

View File

@ -106,9 +106,10 @@
clang-tools # for clangd to find the correct headers clang-tools # for clangd to find the correct headers
]; ];
shellHook = '' shellHook = oa.shellHook + ''
export NVIM_PYTHON_LOG_LEVEL=DEBUG export NVIM_PYTHON_LOG_LEVEL=DEBUG
export NVIM_LOG_FILE=/tmp/nvim.log export NVIM_LOG_FILE=/tmp/nvim.log
export ASAN_SYMBOLIZER_PATH=${pkgs.llvm_11}/bin/llvm-symbolizer
# ASAN_OPTIONS=detect_leaks=1 # ASAN_OPTIONS=detect_leaks=1
export ASAN_OPTIONS="log_path=./test.log:abort_on_error=1" export ASAN_OPTIONS="log_path=./test.log:abort_on_error=1"
@ -118,6 +119,10 @@
# when running the functionaltests # when running the functionaltests
mkdir -p outputs/out/share/nvim/syntax mkdir -p outputs/out/share/nvim/syntax
touch outputs/out/share/nvim/syntax/syntax.vim touch outputs/out/share/nvim/syntax/syntax.vim
# for treesitter functionaltests
mkdir -p runtime/parser
cp -f ${pkgs.tree-sitter.builtGrammars.tree-sitter-c}/parser runtime/parser/c.so
''; '';
}); });
}); });

View File

@ -986,9 +986,9 @@ inside of strings can change! Also see 'softtabstop' option. >
*Y* *Y*
["x]Y yank [count] lines [into register x] (synonym for ["x]Y yank [count] lines [into register x] (synonym for
yy, |linewise|). If you like "Y" to work from the yy, |linewise|).
cursor to the end of line (which is more logical, *Y-default*
but not Vi-compatible) use ":map Y y$". Mapped to "y$" by default. |default-mappings|
*zy* *zy*
["x]zy{motion} Yank {motion} text [into register x]. Only differs ["x]zy{motion} Yank {motion} text [into register x]. Only differs

View File

@ -72,6 +72,11 @@ the differences.
- |g:vimsyn_embed| defaults to "l" to enable Lua highlighting - |g:vimsyn_embed| defaults to "l" to enable Lua highlighting
Default Mappings: *default-mappings*
nnoremap Y y$
xnoremap Y y$
============================================================================== ==============================================================================
3. New Features *nvim-features* 3. New Features *nvim-features*

View File

@ -314,6 +314,9 @@ int main(int argc, char **argv)
init_highlight(true, false); // Default highlight groups. init_highlight(true, false); // Default highlight groups.
TIME_MSG("init highlight"); TIME_MSG("init highlight");
init_default_mappings(); // Default mappings.
TIME_MSG("init default mappings");
// Set the break level after the terminal is initialized. // Set the break level after the terminal is initialized.
debug_break_level = params.use_debug_break_level; debug_break_level = params.use_debug_break_level;

View File

@ -397,6 +397,11 @@ void init_normal_cmds(void)
nv_max_linear = i - 1; nv_max_linear = i - 1;
} }
void init_default_mappings(void)
{
add_map((char_u *)"Y y$", NORMAL | VISUAL);
}
/* /*
* Search for a command in the commands table. * Search for a command in the commands table.
* Returns -1 for invalid command. * Returns -1 for invalid command.

View File

@ -21,6 +21,7 @@ set undodir^=.
set wildoptions= set wildoptions=
set startofline set startofline
set sessionoptions+=options set sessionoptions+=options
unmap Y
" Prevent Nvim log from writing to stderr. " Prevent Nvim log from writing to stderr.
let $NVIM_LOG_FILE = exists($NVIM_LOG_FILE) ? $NVIM_LOG_FILE : 'Xnvim.log' let $NVIM_LOG_FILE = exists($NVIM_LOG_FILE) ? $NVIM_LOG_FILE : 'Xnvim.log'

View File

@ -1955,7 +1955,7 @@ func Test_autocmd_sigusr1()
let g:sigusr1_passed = 0 let g:sigusr1_passed = 0
au Signal SIGUSR1 let g:sigusr1_passed = 1 au Signal SIGUSR1 let g:sigusr1_passed = 1
call system('/bin/kill -s usr1 ' . getpid()) call system('kill -s usr1 ' . getpid())
call WaitForAssert({-> assert_true(g:sigusr1_passed)}) call WaitForAssert({-> assert_true(g:sigusr1_passed)})
au! Signal au! Signal

View File

@ -41,7 +41,8 @@ module.nvim_set = (
..' belloff= wildoptions-=pum noshowcmd noruler nomore redrawdebug=invalid') ..' belloff= wildoptions-=pum noshowcmd noruler nomore redrawdebug=invalid')
module.nvim_argv = { module.nvim_argv = {
module.nvim_prog, '-u', 'NONE', '-i', 'NONE', module.nvim_prog, '-u', 'NONE', '-i', 'NONE',
'--cmd', module.nvim_set, '--embed'} '--cmd', module.nvim_set,
'--cmd', 'unmap Y', '--embed'}
-- Directory containing nvim. -- Directory containing nvim.
module.nvim_dir = module.nvim_prog:gsub("[/\\][^/\\]+$", "") module.nvim_dir = module.nvim_prog:gsub("[/\\][^/\\]+$", "")
if module.nvim_dir == module.nvim_prog then if module.nvim_dir == module.nvim_prog then