@@ -19,6 +19,11 @@ INTERFACE |fern-interface|
19
19
FUNCTION | fern-function |
20
20
AUTOCMD | fern-autocmd |
21
21
HIGHLIGHT | fern-highlight |
22
+ MAPPING | fern-mapping |
23
+ GLOBAL | fern-mapping-global |
24
+ FILE | fern-mapping-file |
25
+ DICT | fern-mapping-dict |
26
+ GLOSSARY | fern-glossary |
22
27
CHANGELOG | fern-changelog |
23
28
24
29
@@ -631,6 +636,336 @@ FernWindowSelectStatusLine *hl-FernWindowSelectStatusLine*
631
636
through "open:select" action.
632
637
633
638
639
+ =============================================================================
640
+ MAPPING *fern-mapping*
641
+
642
+ As described in | fern-action | , some mappings in fern are used as action.
643
+ See | fern-action | for more detail.
644
+
645
+ -----------------------------------------------------------------------------
646
+ GLOBAL *fern-mapping-global*
647
+
648
+ <Plug> (fern-action-zoom:half)
649
+ Zoom width of the drawer style fern to half of the global width.
650
+ The original window width will be restored once user leave the window.
651
+ It only works on a drawer style fern window.
652
+
653
+ <Plug> (fern-action-zoom:full)
654
+ Zoom width of the drawer style fern to full of the global width.
655
+ The original window width will be restored once user leave the window.
656
+ It only works on a drawer style fern window.
657
+
658
+ <Plug> (fern-action-hidden-set)
659
+ Show hidden nodes. For example hidden nodes in file:// scheme is a
660
+ file or directory starts from '.' character.
661
+
662
+ <Plug> (fern-action-hidden-unset)
663
+ Hide hidden nodes. For example hidden nodes in file:// scheme is a
664
+ file or directory starts from '.' character.
665
+
666
+ <Plug> (fern-action-hidden-unset)
667
+ Toggle hidden nodes. For example hidden nodes in file:// scheme is a
668
+ file or directory starts from '.' character.
669
+
670
+ <Plug> (fern-action-include)
671
+ Open a prompt to enter include filter. Users can type a | pattern | to
672
+ filter nodes recursively.
673
+
674
+ <Plug> (fern-action-exclude)
675
+ Open a prompt to enter exclude filter. Users can type a | pattern | to
676
+ filter nodes recursively.
677
+
678
+ <Plug> (fern-action-mark-clear)
679
+ Clear existing marks.
680
+
681
+ <Plug> (fern-action-mark-toggle)
682
+ Toggle marks on cursor node(s).
683
+
684
+ <Plug> (fern-action-mark-set)
685
+ Set marks on cursor node(s).
686
+
687
+ <Plug> (fern-action-mark-unset)
688
+ Unset marks on cursor node(s).
689
+
690
+ <Plug> (fern-action-debug)
691
+ Echo debug information of a cursor node.
692
+
693
+ <Plug> (fern-action-reload)
694
+ Reload on a cursor node and its children.
695
+
696
+ <Plug> (fern-action-expand)
697
+ Expand on a cursor node.
698
+
699
+ <Plug> (fern-action-collapse)
700
+ Collapse on a cursor node.
701
+
702
+ <Plug> (fern-action-reveal)
703
+ Open a prompt to reveal a node in a tree.
704
+
705
+ <Plug> (fern-action-enter)
706
+ Open a new fern buffer which root node is a cursor node. In other
707
+ word, get enter the directory.
708
+
709
+ <Plug> (fern-action-leave)
710
+ Open a new fern buffer which root node is a parent node of the current
711
+ root node. In other word, go up directory.
712
+
713
+ <Plug> (fern-action-open:select)
714
+ Open a cursor node or marked nodes through "window selector"
715
+ (| fern-glofern-glossary-window-selector | .)
716
+
717
+ <Plug> (fern-action-open:split)
718
+ <Plug> (fern-action-open:vsplit)
719
+ <Plug> (fern-action-open:tabedit)
720
+ Open a cursor node or marked nodes with a corresponding command.
721
+ The command will be applied on an "anchor" window when invoked from a
722
+ drawer style fern (| fern-glossary-anchor | .)
723
+
724
+ <Plug> (fern-action-edit-or-error)
725
+ Open a cursor node or marked nodes with | edit | command or fallback
726
+ to print an error.
727
+ Note that when 'hidden' has set or 'bufhidden' is "hide", the | edit |
728
+ command will never fails.
729
+
730
+ <Plug> (fern-action-open:edit-or-split)
731
+ <Plug> (fern-action-open:edit-or-vsplit)
732
+ <Plug> (fern-action-open:edit-or-tabedit)
733
+ Open a cursor node or marked nodes with | edit | command or fallback
734
+ to a corresponding command.
735
+ Note that when 'hidden' has set or 'bufhidden' is "hide", the | edit |
736
+ command will never fails.
737
+
738
+ <Plug> (fern-action-open:above)
739
+ <Plug> (fern-action-open:left)
740
+ <Plug> (fern-action-open:below)
741
+ <Plug> (fern-action-open:right)
742
+ Open a cursor node or marked nodes on a corresponding direction
743
+ from an "anchor" window.
744
+ The command will be applied on the anchor window when invoked from a
745
+ drawer style fern (| fern-glossary-anchor | .)
746
+
747
+ <Plug> (fern-action-open:top)
748
+ <Plug> (fern-action-open:leftest)
749
+ <Plug> (fern-action-open:bottom)
750
+ <Plug> (fern-action-open:rightest)
751
+ Open a cursor node or marked nodes on a edge of a corresponding
752
+ direction from an "anchor" window.
753
+ The command will be applied on the anchor window when invoked from a
754
+ drawer style fern (| fern-glossary-anchor | .)
755
+
756
+ <Plug> (fern-action-open:side)
757
+ Open a cursor node or marked nodes on the right side of the current
758
+ window. The behavior is slightly different between a drawer style fern
759
+ window and a split style fern window due to the presence of "anchor".
760
+
761
+ <Plug> (fern-action-open-or-enter)
762
+ Invoke "open" action on a leaf node and "enter" action on a branch
763
+ node.
764
+
765
+ <Plug> (fern-action-open-or-expand)
766
+ Invoke "open" action on a leaf node and "expand" action on a branch
767
+ node.
768
+
769
+ <Plug> (fern-action-open:edit)
770
+ An alias to "open:edit-or-error" action. Users can overwrite this
771
+ mapping to change the default behavior of "open:edit" action like:
772
+ >
773
+ nmap <buffer>
774
+ \ <Plug>(fern-action-open:edit)
775
+ \ <Plug>(fern-action-open:edit-or-tabedit)
776
+ <
777
+ <Plug> (fern-action-open)
778
+ An alias to "open:edit" action. Users can overwrite this mapping to
779
+ change the default behavior of "open" action like:
780
+ >
781
+ nmap <buffer>
782
+ \ <Plug>(fern-action-open)
783
+ \ <Plug>(fern-action-open:select)
784
+ <
785
+ <Plug> (fern-action-cancel)
786
+ Cancel tree rendering.
787
+
788
+ <Plug> (fern-action-redraw)
789
+ Redraw tree.
790
+
791
+ <Plug> (fern-wait)
792
+ Wait a previous asynchronous action to continue asynchronous actions
793
+ sequentially.
794
+ Note this is not action.
795
+
796
+ -----------------------------------------------------------------------------
797
+ FILE *fern-mapping-file*
798
+
799
+ The following mappings/actions are only available on file:// scheme.
800
+
801
+ <Plug> (fern-action-new-file)
802
+ Open a prompt to ask a path and create a file of the input path from
803
+ the path of a cursor node.
804
+ Any intermediate directories of the destination will be created.
805
+
806
+ <Plug> (fern-action-new-dir)
807
+ Open a prompt to ask a path and create a directory of the input path
808
+ from the path of a cursor node.
809
+ Any intermediate directories of the destination will be created.
810
+
811
+ <Plug> (fern-action-copy)
812
+ Open a prompt to ask a path and copy a file/directory of the cursor
813
+ node or marked node path(s) to the input path(s).
814
+ Any intermediate directories of the destination will be created.
815
+ The prompt will repeatedly open if multiple nodes has marked.
816
+
817
+ <Plug> (fern-action-move)
818
+ Open a prompt to ask a path and move a file/directory of the cursor
819
+ node or marked node path(s) to the input path(s).
820
+ Any intermediate directories of the destination will be created.
821
+ The prompt will repeatedly open if multiple nodes has marked.
822
+
823
+ <Plug> (fern-action-trash)
824
+ Open a prompt to ask if fern can send the cursor node or marked nodes
825
+ to the system trash-bin. It uses the following implementations to send
826
+ the node(s) into system trash-bin.
827
+ OS Requirement~
828
+ macOS: osascript (OS builtin)
829
+ Windows: PowerShell (OS builtin)
830
+ Linux: trash-ci or gomi (Users need to install)
831
+ https://github.com/andreafrancia/trash-cli
832
+ https://github.com/b4b4r07/gomi
833
+ Note that the action fails without removing the files/directories if
834
+ no requirement exists on Linux.
835
+
836
+ <Plug> (fern-action-remove)
837
+ Open a prompt to ask if fern can DELETE the cursor node or marked
838
+ nodes. BE CAREFUL with this action while it DELETE the file/direcoty
839
+ and users cannot restore (like "rm" in terminal.)
840
+
841
+ <Plug> (fern-action-cd:root)
842
+ <Plug> (fern-action-lcd:root)
843
+ <Plug> (fern-action-tcd:root)
844
+ Invoke | :cd | , | :lcd | , or | :tcd | command on the path of the root node.
845
+
846
+ <Plug> (fern-action-cd:cursor)
847
+ <Plug> (fern-action-lcd:cursor)
848
+ <Plug> (fern-action-tcd:cursor)
849
+ Invoke | :cd | , | :lcd | , or | :tcd | command on the path of a cursor node.
850
+
851
+ <Plug> (fern-action-cd)
852
+ <Plug> (fern-action-lcd)
853
+ <Plug> (fern-action-tcd)
854
+ An alias to "cd:cursor", "lcd:cursor", and "tcd:cursor" action.
855
+ Users can overwrite this mapping to change the default behavior like:
856
+ >
857
+ nmap <buffer>
858
+ \ <Plug>(fern-action-cd)
859
+ \ <Plug>(fern-action-cd:root)
860
+ <
861
+ <Plug> (fern-action-clipboard-copy)
862
+ Copy a cursor node or marked nodes into an internal clipboard.
863
+ Actual copy happens when users paste the nodes with "clipboard-paste"
864
+ action.
865
+ Note that this action has NO-relation with the system clipboard.
866
+
867
+ <Plug> (fern-action-clipboard-move)
868
+ Move a cursor node or marked nodes into an internal clipboard.
869
+ Actual move happens when users paste the nodes with "clipboard-paste"
870
+ action.
871
+ Note that this action has NO-relation with the system clipboard.
872
+
873
+ <Plug> (fern-action-clipboard-paste)
874
+ Paste copied/moved nodes on a cursor node. It does not clear the
875
+ internal clipboard so users can copy -> paste -> paste -> ...
876
+ Note that this action has NO-relation with the system clipboard.
877
+
878
+ <Plug> (fern-action-clipboard-clear)
879
+ Clear the internal clipboard.
880
+ Note that this action has NO-relation with the system clipboard.
881
+
882
+ <Plug> (fern-action-grep)
883
+ Open a prompt to ask a grep pattern and execute grep command under the
884
+ cursor node. It respects the value of 'grepprg' and 'grepformat' .
885
+
886
+ <Plug> (fern-action-rename:select)
887
+ <Plug> (fern-action-rename:split)
888
+ <Plug> (fern-action-rename:vsplit)
889
+ <Plug> (fern-action-rename:tabedit)
890
+ <Plug> (fern-action-rename:above)
891
+ <Plug> (fern-action-rename:left)
892
+ <Plug> (fern-action-rename:below)
893
+ <Plug> (fern-action-rename:right)
894
+ <Plug> (fern-action-rename:top)
895
+ <Plug> (fern-action-rename:leftest)
896
+ <Plug> (fern-action-rename:bottom)
897
+ <Plug> (fern-action-rename:rightest)
898
+ <Plug> (fern-action-rename:edit-or-error)
899
+ <Plug> (fern-action-rename:edit-or-split)
900
+ <Plug> (fern-action-rename:edit-or-vsplit)
901
+ <Plug> (fern-action-rename:edit-or-tabedit)
902
+ <Plug> (fern-action-rename:edit)
903
+ <Plug> (fern-action-rename:side)
904
+ <Plug> (fern-action-rename)
905
+ Open "renamer" (| fern-glossary-renamer | ) for a cursor node or marked
906
+ nodes in similar manners of global "open" actions.
907
+
908
+ <Plug> (fern-action-open:system)
909
+ Open a cursor node or marked nodes on a default program of the system.
910
+ For example, a cursor node points a PDF file, an application "Preview"
911
+ will open that file in macOS.
912
+
913
+ <Plug> (fern-action-terminal:select)
914
+ <Plug> (fern-action-terminal:split)
915
+ <Plug> (fern-action-terminal:vsplit)
916
+ <Plug> (fern-action-terminal:tabedit)
917
+ <Plug> (fern-action-terminal:above)
918
+ <Plug> (fern-action-terminal:left)
919
+ <Plug> (fern-action-terminal:below)
920
+ <Plug> (fern-action-terminal:right)
921
+ <Plug> (fern-action-terminal:top)
922
+ <Plug> (fern-action-terminal:leftest)
923
+ <Plug> (fern-action-terminal:bottom)
924
+ <Plug> (fern-action-terminal:rightest)
925
+ <Plug> (fern-action-terminal:edit-or-error)
926
+ <Plug> (fern-action-terminal:edit-or-split)
927
+ <Plug> (fern-action-terminal:edit-or-vsplit)
928
+ <Plug> (fern-action-terminal:edit-or-tabedit)
929
+ <Plug> (fern-action-terminal:edit)
930
+ <Plug> (fern-action-terminal:side)
931
+ <Plug> (fern-action-terminal)
932
+ Open terminal window(s) on or on parent of a cursor node or marked
933
+ nodes in similar manners of global "open" actions.
934
+
935
+ -----------------------------------------------------------------------------
936
+ DICT *fern-mapping-dict*
937
+
938
+ The following mappings/actions are only available on dict:// scheme.
939
+
940
+ TBW
941
+
942
+
943
+ =============================================================================
944
+ GLOSSARY *fern-glossary*
945
+
946
+ *fern-glossary-anchor*
947
+ "anchor" A nearest suitable window from a drawer style fern
948
+ window. "suitable" window is a window which is
949
+ 1. not quickfix window
950
+ 2. not location-list window
951
+ 3. not 'winfixwidth'
952
+ 4. not 'winfixheight'
953
+ 5. not 'previewwindow'
954
+ Usually a right window by the drawer become "anchor".
955
+
956
+ *fern-glossary-renamer*
957
+ "renamer" A special buffer which lists paths. Users can modify
958
+ the paths and save. Once user save the content with
959
+ | :write | command, corresponding rename process will
960
+ invokes (e.g. file/directory rename on file:// scheme)
961
+
962
+ *fern-glossary-window-selector*
963
+ "window selector" A special prompt to select window to open a node.
964
+ Once user hit a window indicator displayed under each
965
+ window, a content of the node will be opened at that
966
+ window.
967
+
968
+
634
969
=============================================================================
635
970
CHANGELOG *fern-changelog*
636
971
0 commit comments