[vim]denite.nvim에서 이모티콘 입력

4235 단어 neovimdenite.nvimVim

denite.nvim에서 이모티콘 입력



denite.nvim 에서 이모티콘 선택용 소스를 만들어 보았습니다.
실용적인지 여부는 미묘하지만. .

vim-denite-emoji


:Denite emoji 로 이모티콘 후보를 내고 Enter 로 선택한 이모티콘이 버퍼에 삽입됩니다.

이모티콘의 원래 재료는 vim-emoji 이라는 plugin이 가지고 있는 이모티콘 데이터를 사용하고 있을 뿐이므로 전혀 큰 일은 하지 않습니다만, denite의 커스텀 소스는 매우 쓰기 쉽고 좋네요.

진짜 쓴 것은
from .base import Base

class Source(Base):

    def __init__(self, vim):
        super().__init__(vim)
        self.name = 'emoji'
        self.kind = 'word'

    def gather_candidates(self, context):
        candidates = []
        for emoji_name, code in self.vim.eval('emoji#data#dict()').items():
            if isinstance(code, list):
                emoji = "".join(map(chr, code))
            else:
                emoji = chr(code)
            candidates += [{
                'word': "{0} {1}".format(emoji, emoji_name),
                'action__text': emoji
            }]
        return candidates

뿐입니다만, 이것으로 좋은 느낌에 커스텀 소스를 만들 수 있으므로 굉장히 편하네요.

다만, 몇 개인가 잘 표시할 수 없는 문자가 있어 cn ( ) 라든지 it터미널상이라고 표시할 수 있고, neovim상이라고 표시할 수 없기 때문에 neovim의 문제일까.

좋은 웹페이지 즐겨찾기