All Projects → raghur → Vim Ghost

raghur / Vim Ghost

Vim/Nvim client for GhostText - Edit browser text areas in Vim/Neovim

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Vim Ghost

Indent Blankline.nvim
Indent guides for Neovim
Stars: ✭ 203 (-17.14%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Visual Split.vim
Vim plugin to control splits with visual selections or text objects
Stars: ✭ 190 (-22.45%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Crease.vim
Easy foldtext customization for [neo]vim.
Stars: ✭ 19 (-92.24%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Animate.vim
A Vim Window Animation Library
Stars: ✭ 173 (-29.39%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Vim Vsnip
Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format.
Stars: ✭ 224 (-8.57%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Context.vim
Vim plugin that shows the context of the currently visible buffer contents
Stars: ✭ 688 (+180.82%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Vim Dadbod Completion
Database autocompletion powered by https://github.com/tpope/vim-dadbod
Stars: ✭ 163 (-33.47%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Lens.vim
A Vim Automatic Window Resizing Plugin
Stars: ✭ 381 (+55.51%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Nvim Treesitter Context
Show code context
Stars: ✭ 113 (-53.88%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Neovim Fuzzy
Fuzzy file finding for neovim
Stars: ✭ 103 (-57.96%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Alchemist.vim
Elixir Integration Into Vim
Stars: ✭ 632 (+157.96%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Vem Tabline
A lightweight Vim/Neovim plugin to display buffers and tabs in the tabline
Stars: ✭ 129 (-47.35%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Vim Markdown Composer
An asynchronous markdown preview plugin for Vim and Neovim.
Stars: ✭ 501 (+104.49%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Neotex
latex live preview - plugin for neovim and vim 8
Stars: ✭ 170 (-30.61%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Tmux Complete.vim
Vim plugin for insert mode completion of words in adjacent tmux panes
Stars: ✭ 447 (+82.45%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Todoist.nvim
A todoist extension for neovim
Stars: ✭ 84 (-65.71%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Dashboard Nvim
vim dashboard
Stars: ✭ 294 (+20%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Barbar.nvim
A neovim tabline plugin.
Stars: ✭ 359 (+46.53%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Asyncrun.vim
🚀 Run Async Shell Commands in Vim 8.0 / NeoVim and Output to the Quickfix Window !!
Stars: ✭ 1,332 (+443.67%)
Mutual labels:  neovim, vim-plugin, neovim-plugin
Vim Clap
👏 Modern performant fuzzy picker for Vim and NeoVim
Stars: ✭ 1,802 (+635.51%)
Mutual labels:  neovim, vim-plugin, neovim-plugin

= Vim Ghost

Edit browser textarea content in Vim/Neovim!

[.center.text-center] image::https://i.imgur.com/yitnBrU.gif[demo,100%]

. Install this https://addons.mozilla.org/en-US/firefox/addon/ghosttext/[firefox addon] or this https://chrome.google.com/webstore/detail/ghosttext/godiecgffnchndlihlpaajjcplehddca[Chrome extension] . Add this plugin +

" Vim-plug
Plug 'raghur/vim-ghost', {'do': ':GhostInstall'}

. Ensure you have a vim/neovim instance open. Run :GhostStart to start the server. . On any textarea, click the ghost icon - switch to neovim and edit!. Content is sync'ed real time. Works both ways - edits in the browser window are pushed to neovim as well. . When done, just delete the buffer with :bd! - you'll be disconnected

== Configuring filetype Whenever a buffer is connected, a User event vim-ghost#connected is raised. Here's a quick sample of setting filetype to markdown if the textarea was on github or reddit

function! s:SetupGhostBuffer()
    if match(expand("%:a"), '\v/ghost-(github|reddit)\.com-')
        set ft=markdown
    endif
endfunction

augroup vim-ghost
    au!
    au User vim-ghost#connected call s:SetupGhostBuffer()
augroup END

== Requirements

=== additional requirements for vim

[source,vimscript]

" Only enabled for Vim 8 (not for Neovim). Plug 'roxma/nvim-yarp', v:version >= 800 && !has('nvim') ? {} : { 'on': [], 'for': [] } Plug 'roxma/vim-hug-neovim-rpc', v:version >= 800 && !has('nvim') ? {} : { 'on': [], 'for': [] }

== Auto switching to vim:

.Optional, but highly recommended - Switching focus to Neovim

  • Linux: The xdotool command - if available, will be used to focus the nvim window. Works in console, tmux or guis like neovim-qt ** On Ubuntu, you can install it with sudo apt-get install xdotool
  • macOS: Set the g:ghost_darwin_app variable to the name of your app (see docs).
  • Windows: If pywinauto (https://github.com/pywinauto/pywinauto) is available, it will be used to bring the neovim-qt to foreground.

[source,shell]

Ensure that you install this module for the version of python

that is loaded in neovim

pip install pywinauto

Limitations: Currently, on windows, the processname is hardcoded to nvim-qt If you use any of the other GUIs for neovim (OniVim, gonvim etc) then this will not work.

== Rationale

With Firefox moving to webextensions, It's all text is dead. Typing in text areas is a royal PITA and I was looking for a replacement. Came across GhostText - but the vim addon seems dead and uses tcl :ugh:

My vimscript fu is pretty limited - so I thought I'd write a python plugin for neovim.

== TODOS

PR's welcome. Some areas:

  • [.line-through]#vim compatibility# - DONE

Love it or just find it as useful as I do? Star this repo to let me know

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].