(feat): add osc52 support
This commit is contained in:
parent
ff50325ade
commit
e08ef74fa4
4 changed files with 43 additions and 1 deletions
27
.config/nvim/lua/bumpsoo/plugins/osc_yank.lua
Normal file
27
.config/nvim/lua/bumpsoo/plugins/osc_yank.lua
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
return {
|
||||
'ojroques/vim-oscyank',
|
||||
config = function()
|
||||
local valid_registers = {
|
||||
[''] = true,
|
||||
['+'] = true,
|
||||
['*'] = true,
|
||||
}
|
||||
|
||||
local valid_operators = {
|
||||
['y'] = true,
|
||||
['d'] = true,
|
||||
}
|
||||
|
||||
vim.api.nvim_create_autocmd('TextYankPost', {
|
||||
callback = function()
|
||||
local regname = vim.v.event.regname
|
||||
local operator = vim.v.event.operator
|
||||
|
||||
if valid_registers[regname] and valid_operators[operator] then
|
||||
vim.fn.OSCYankRegister(regname)
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
}
|
||||
|
||||
|
|
@ -3,5 +3,9 @@ setw -g mode-keys vi
|
|||
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||
bind-key -T copy-mode-vi 'r' send -X rectangle-toggle
|
||||
set -s copy-command 'wl-copy'
|
||||
|
||||
set-option -s set-clipboard on
|
||||
|
||||
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "tmux save-buffer - | tmux load-buffer - && tmux show-buffer | osc52_copy"
|
||||
bind-key -T copy-mode y send-keys -X copy-pipe-and-cancel "tmux save-buffer - | tmux load-buffer - && tmux show-buffer | osc52_copy"
|
||||
|
||||
|
|
|
|||
|
|
@ -66,6 +66,8 @@ COPY --chown=${USERNAME}:${GID} .config/nvim /home/${USERNAME}/.config/nvim
|
|||
|
||||
COPY --chown=${USERNAME}:${GID} .tmux.conf /home/${USERNAME}/.tmux.conf
|
||||
|
||||
COPY --chown=${USERNAME}:${GID} bin/osc52_copy /home/${USERNAME}/.local/bin/osc52_copy
|
||||
|
||||
RUN echo 'export LANG=ko_KR.UTF-8' >> ~/.bashrc \
|
||||
&& echo 'export LC_ALL=ko_KR.UTF-8' >> ~/.bashrc
|
||||
|
||||
|
|
|
|||
9
bin/osc52_copy
Executable file
9
bin/osc52_copy
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
# OSC52로 클립보드에 복사하는 스크립트
|
||||
if [ -t 0 ]; then
|
||||
input="$*"
|
||||
else
|
||||
input="$(cat)"
|
||||
fi
|
||||
printf '\033]52;c;%s\a' "$(printf "%s" "$input" | base64 | tr -d '\r\n')"
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue