Как найдено здесь ; убедитесь, что Chrome по крайней мере пытается включить аппаратное ускорение:
Try the simplest fix first.
Go into chrome://settings, click on show advanced settings at the bottom, and then scroll down to the bottom again and make sure "use hardware acceleration when available" is checked.
Это была проблема в моей ситуации.
Используйте sed для удаления всего после первой точки включительно:
:nnoremap yn :!sed "s/\..*//"<<<%c|xclip -selection clipboard %i<cr>
Если ваша оболочка не поддерживает строки (<<<
), используйте printf(Почему printf лучше, чем echo?)передать в sed:
:nnoremap yn :!printf '%%s' %c|sed "s/\..*//"|xclip -selection clipboard %i<cr>
Vifm обрабатывает макросы перед передачей команду оболочке. %c
становится именем файла (правильно экранированным ); %s
также будет заменено, поэтому %%s
необходимо, чтобы printf получает %s
. Аналогично, <cr>
— это « Enter эквивалент" и является обязательным, иначе вся команда просто выскакивает в командной строке -.
Это было проверено. Даже файл с изысканным названием t*.a.<!e>&
прошел проверку, в буфер обмена попадает t*
.
Если вы хотите удалить все после включительно последний точка (не первая ), используйте sed "s/\.[^.]*$//"
.
Чтобы отобразить скопированную строку в строке состояния, повторите команду до sed и используйте макрос %S
.
:nnoremap yn :!printf '%%s' %c|sed "s/\..*//"|xclip -selection clipboard %i<cr>:!printf '%%s' %c|sed "s/\..*//;s/$/ is yanked to clipboard/" %S<cr>