(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 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 y send-keys -X copy-selection-and-cancel
|
||||||
bind-key -T copy-mode-vi 'r' send -X rectangle-toggle
|
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} .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 \
|
RUN echo 'export LANG=ko_KR.UTF-8' >> ~/.bashrc \
|
||||||
&& echo 'export LC_ALL=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