yi-editor / yi

The Haskell-Scriptable Editor
GNU General Public License v2.0
1.51k stars 201 forks source link

How can I enable line numbers in the vim mode / config? #1078

Closed chrissound closed 6 years ago

noughtmare commented 6 years ago

See https://github.com/yi-editor/yi/pull/1062. You should be able to do :set numbers or:

myConfig :: ConfigM ()
myConfig = do
  ...
  lineNumbers .= True

Note that this requires version 0.18.0, which is not yet released to hackage.

chrissound commented 6 years ago

Great! Thanks.

I also had to add this import:

import Yi.Config.Simple

Here is a full config that worked for me (modified from example-configs/yi-vim-vty-static):

import Control.Monad.State.Lazy
import Data.List
import Lens.Micro.Platform
import System.Environment

import Yi
import Yi.Config.Simple
import Yi.Config.Simple.Types
import Yi.Config.Default.HaskellMode (configureHaskellMode)
import Yi.Config.Default.MiscModes (configureMiscModes)
import Yi.Config.Default.Vim (configureVim)
import Yi.Config.Default.Vty (configureVty)

main :: IO ()
main = do
    files <- getArgs
    let openFileActions = intersperse (EditorA newTabE) (map (YiA . openNewFile) files)
    cfg <- execStateT
        (runConfigM (myConfig >> (startActionsA .= openFileActions)))
        defaultConfig
    startEditor cfg Nothing

myConfig :: ConfigM ()
myConfig = do
    configureVty
    configureVim
    configureHaskellMode
    configureMiscModes
    lineNumbers .= True