如何在Vim中将表情符号输入字符串?

s5a0g9ez  于 2022-11-11  发布在  其他
关注(0)|答案(5)|浏览(145)

无法理解。只需要在字符串中输入1个表情符号,但无法理解。Unicode不起作用。尝试diagraph,但也不起作用。Vim中是否存在一些技巧?谢谢!

6vl6ewon

6vl6ewon1#

你不需要安装插件。你需要做的就是输入表情符号的unicode值。你可以在插入模式下使用<C-v>来完成。从:h i_ctrl-v_digit


* i_CTRL-V_digit*

With CTRL-V the decimal, octal or hexadecimal value of a character can be
entered directly.  This way you can enter any character, except a line break
(<NL>, value 10).  There are five ways to enter the character value:

first char  mode         max nr of chars   max value ~
(none)      decimal        3        255
o or O      octal          3        377      (255)
x or X      hexadecimal    2        ff       (255)
u           hexadecimal    4        ffff     (65535)
U           hexadecimal    8        7fffffff (2147483647)

例如,如果要输入this smiley-face,其unicode值为U+1F60A,则只需键入:

<C-v>U1F60A<esc>

或者如果您不想点击<esc>

<C-v>U0001F60A

要知道,根据你的字体,它很有可能在vim中无法正常渲染。如果你使用的是gvim,你可以改变:se guifont=*,或者在普通的vim中,改变你的控制台字体来渲染它(假设你选择了一种可以渲染这个表情符号的字体)

moiiocjp

moiiocjp2#

另一种方法是使用缩写。
我在我的.vimrc file中添加了一些,现在我只需要输入:pushpin:例如📌:灯泡💡;炸弹;💣等等。

" Emoji shortcuts
ab :white_check_mark: ✅
ab :warning: ⚠
ab :bulb: 💡
ab :pushpin: 📌
ab :bomb: 💣
ab :pill: 💊
ab :construction: 🚧
ab :pencil: 📝
ab :point_right: 👉
ab :book: 📖
ab :link: 🔗
ab :wrench: 🔧
ab :info: 🛈
ab :telephone: 📞
ab :email: 📧
ab :computer: 💻

emojicopy.com或类似的网站上有很多,我只是选了几个我以前已经用过的。

3ks5zfa0

3ks5zfa03#

虽然<c-v>U1f60A<esc>是可能的,但如果你在回复电子邮件/在网页表单中输入评论,这就不实用😒😫🙄了😜。
针对此类使用情形的其他选项很少:
1.输入你常用的表情符号,比如:),然后让一个插件把它替换成unicode对应的符号😄,插件emoji-ab会帮你完成这个任务。
1.像:boom:这样的类型代码。许多markdown解析器会为你把它转换成💥。但是如果你没有使用这样的解析器,emoji-ab也会为你转换它。
1.使用类似gucharmap(或许多在线Unicode拾取器之一)的工具将Unicode字符复制并粘贴到vim中。

ftf50wuq

ftf50wuq4#

在包括Vim在内的许多上下文中访问这些表情符号的另一种方法是使用字符Map对话框窗口:

  • 在Mac上,按Ctrl+Command+空格键并选择字符。
  • 在Windows上,按Windows+R并键入字符Map。

qlckcl4x

qlckcl4x5#

您可以使用emoji-fzf pip包
首先安装fzf

sudo apt install fzf

然后安装表情符号fzf

pip install emoji-fzf

现在请确保您可以运行emoji-fzf

emoji-fzf --help

如果您得到“comand not found”错误,请参阅pip installs packages successfully, but executables not found from command line
现在将emoji-fzf添加到.vimrc

" Use emoji-fzf and fzf to fuzzy-search for emoji, and insert the result
function! InsertEmoji(emoji)
    let @a = system('cut -d " " -f 1 | emoji-fzf get', a:emoji)
    normal! "agP
endfunction

command! -bang Emoj
  \ call fzf#run({
      \ 'source': 'emoji-fzf preview',
      \ 'options': '--preview ''emoji-fzf get --name {1}''',
      \ 'sink': function('InsertEmoji')
      \ })
" Ctrl-e in normal and insert mode will open the emoji picker.
" Unfortunately doesn't bring you back to insert mode 😕
map <C-e> :Emoj<CR>
imap <C-e> <C-o><C-e>

重新启动你的vim和按ctrl + e和搜索你最喜欢的表情符号和按回车

相关问题