Skip to content

Commit 87d8d10

Browse files
committed
feat: yank text to system clipboard and send to my laptop
1 parent 71ed6ef commit 87d8d10

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

lua/theprimeagen/remap.lua

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11

2+
vim.opt.clipboard = "unnamedplus"
23
vim.g.mapleader = " "
34
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
45

@@ -24,8 +25,29 @@ end)
2425
vim.keymap.set("x", "<leader>p", [["_dP]])
2526

2627
-- next greatest remap ever : asbjornHaland
27-
vim.keymap.set({"n", "v"}, "<leader>y", [["+y]])
28-
vim.keymap.set("n", "<leader>Y", [["+Y]])
28+
function is_macos()
29+
local handle = io.popen("uname")
30+
if (handle == nil)
31+
then
32+
return
33+
end
34+
local result = handle:read("*a")
35+
handle:close()
36+
return result:match("Darwin") ~= nil
37+
end
38+
39+
function send_clipboard_to_mac()
40+
if (is_macos() == true)
41+
then
42+
return
43+
end
44+
local clipboard_text = vim.fn.getreg("+")
45+
local command = string.format("echo %s | ssh mac pbcopy", vim.fn.shellescape(clipboard_text))
46+
os.execute(command)
47+
end
48+
49+
vim.keymap.set({"n", "v"}, "<leader>y", "\"+y <cmd>lua send_clipboard_to_mac()<cr>")
50+
vim.keymap.set("n", "<leader>Y", "\"+Y <cmd>lua send_clipboard_to_mac()<cr>")
2951

3052
vim.keymap.set({"n", "v"}, "<leader>d", "\"_d")
3153

0 commit comments

Comments
 (0)